---
title: "Get an organization"
method: GET
path: "/v1/organizations/{id}"
tags: ["Organizations"]
---

# Get an organization

`GET /v1/organizations/{id}`

## Request

- Base URL: `https://api.squirrelscan.com`
- URL: `https://api.squirrelscan.com/v1/organizations/{id}`
- Auth: HTTP bearer

Read an organization the caller is a member of, including its members and plan limits.

## Path parameters

- `id` string, required

## Response `200`

Organization detail.

- OrganizationDetail
  - `organization` object, required
    - `id` string, required
    - `name` string, required
    - `slug` string, required
    - `planId` string, required
    - `createdAt` string, date-time, nullable
    - `updatedAt` string, date-time, nullable
  - `members` object[], required: Members of the organization. Only returned to callers who are themselves members (the handler enforces membership and returns 404 otherwise — non-members never see this list).
    - `id` string
    - `userId` string
    - `role` 'owner' | 'admin' | 'editor' | 'viewer' | 'billing'
    - `createdAt` string, date-time
    - `userName` string, nullable
    - `userEmail` string, email, nullable: PII — a fellow member's email address. Intentionally exposed so org members can see their teammates (the dashboard team view renders it); access is gated by the membership check above. Treat as sensitive: do not log, cache publicly, or surface outside an authenticated org-member context.
    - `userAvatarUrl` string, nullable
  - `plan` object, required
    - `id` string
    - `name` string
    - `maxMembers` integer
    - `monthlyCredits` integer
    - `signupGrantCredits` integer
  - `role` 'owner' | 'admin' | 'editor' | 'viewer' | 'billing', required

## Other responses

- `401`: Missing or invalid credentials (including the shared auth middleware: no/invalid bearer token). Typed envelope with code `UNAUTHORIZED`. Branch on the `401` status, not the message.
- `404`: Resource not found (or hidden from the caller).
- `429`: Too many requests. Retry after the window resets. (Rate limiting is planned — issue #69 — these headers document the intended contract.)

---

[API](https://skmtc.dev/squirrelscan/apis/squirrelscan-public-api.md) · [All operations](https://skmtc.dev/squirrelscan/apis/squirrelscan-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/squirrelscan/apis/squirrelscan-public-api/revisions/82c8183fe8bc?raw)
