---
title: "List organizations accessible to the current token."
method: GET
path: "/api/me/organizations"
tags: ["Auth"]
---

# List organizations accessible to the current token.

`GET /api/me/organizations`

## Request

- Base URL: `https://platform.buildpulse.io`
- URL: `https://platform.buildpulse.io/api/me/organizations`
- Auth: one of:
  - API key in header `Authorization`
  - HTTP bearer

Returns the set of organizations the calling token may scope
requests to.

For long-lived **apiToken** callers (single-org by
construction), the list always has one element — the org the
token was generated under.

For ephemeral **mcpSession** callers (OAuth-minted from the
hosted MCP), the list contains every org the authenticated
Cognito user has a membership in. The agent should call this
endpoint to enumerate the user's orgs, then pass the chosen
`id` back as `?organization_id=<uuid>` on subsequent
org-scoped requests.

## Response `200`

Caller's accessible organizations.

- object
  - `organizations` object[], required
    - `id` string, required: Organization UUID (the value of the `id` field on the organization document — NOT the internal `_id` ObjectID). Pass this as `?organization_id=…` on subsequent requests.
    - `name` string, required
    - `slug` string

## Other responses

- `401`: Missing, malformed, or invalid token; or — for legacy 40-hex tokens only — the organization has no active plan (`marketplacePurchases.unitCount > 0`). The new `bp_<64-hex>` path has no plan gate, so a 401 there means the token shape was wrong, the hash didn't match, or the token has expired. Response body is empty (matches legacy Rails).

---

[API](https://skmtc.dev/buildpulse/apis/buildpulse-platform-api.md) · [All operations](https://skmtc.dev/buildpulse/apis/buildpulse-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/buildpulse/apis/buildpulse-platform-api/revisions/2e68b4b2df6a?raw)
