---
title: "The caller’s teams with plan, the caller’s role, and the channels visible to them. Matches in-product membership: archived teams and hidden guest memberships (joined via a public bubble link) are excluded."
method: GET
path: "/v1/teams"
---

# The caller’s teams with plan, the caller’s role, and the channels visible to them. Matches in-product membership: archived teams and hidden guest memberships (joined via a public bubble link) are excluded.

`GET /v1/teams`

## Request

- Base URL: `https://api.usebubbles.com`
- URL: `https://api.usebubbles.com/v1/teams`
- Auth: HTTP bearer

## Response `200`

Success.

- TeamList: GET /v1/teams — the finite list of the caller's teams.
  - `data` Team[], required: The caller's teams.
    - `id` string, required: The team id.
    - `name` string, nullable, required: The team name, or null.
    - `plan` 'free' | 'pro', required: The team's plan.
    - `role` 'admin' | 'member' | 'guest', nullable, required: The caller's role in this team, or null.
    - `channels` TeamChannel[], required: Channels (spaces) visible to the caller.
      - `id` string, required: The channel id.
      - `name` string, nullable, required: The channel name, or null.

## Other responses

- `401`: Missing, malformed, or wrong-kind credential (unauthorized / token_revoked / account_deleted).
- `429`: Rate limit exceeded (rate_limited); see the Retry-After header.
- `500`: An unexpected server error occurred (internal_error).

---

[API](https://skmtc.dev/usebubbles/apis/bubbles-public-api.md) - [All operations](https://skmtc.dev/usebubbles/apis/bubbles-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/usebubbles/apis/bubbles-public-api/revisions/31570f5d4b05?raw)
