---
title: "List Teams"
method: GET
path: "/v2/teams"
tags: ["v2 - Teams"]
---

# List Teams

`GET /v2/teams`

## Request

- Base URL: `https://api.jubjubapp.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.jubjubapp.com/v2/teams`
- Auth: HTTP bearer

List all teams the user is a member of.

Returns lightweight card data for efficient list rendering.

**Query params:**
- `include=workspaces` - Include workspaces inline (avoids N+1 requests)

## Query parameters

- `limit` integer
- `offset` integer
- `include` string, nullable: Include related data. Use 'workspaces' to include workspaces inline.

## Headers

- `Authorization` string
- `X-JubJub-Service-Key` string
- `X-JubJub-Agent-Key` string
- `X-JubJub-Platform-Key` string
- `Origin` string
- `Referer` string
- `X-JubJub-Trial-Token` string

## Response `200`

Successful Response

- union
  - TeamListResponse: Paginated list of teams.
    - `teams` TeamCardResponse[], required
      - `team_id` string, required
      - `name` string, required
      - `description` string, nullable
      - `avatar_url` string, nullable
      - `owner` PublicPersonResponse: Another person as anyone may see them (founder's rule, 2026-09-25). Never a profile ID, never an email. `member_ref` is the opaque, per-context handle routes accept for this person (null where there is no context to mint one in). `display_name` is a public name or, with none, the person's role and team where the response knows them ("Admin (via Kong)"), else "Member" (2026-10-08; never "JubJub member").
        - `member_ref` string, nullable
        - `display_name` string, required
        - `avatar_url` string, nullable
        - `handle` string, nullable
        - `is_you` boolean
        - `role` string, nullable
        - `via_team` string, nullable
      - `is_owner` boolean
      - `my_role` string, nullable
      - `member_count` integer
      - `workspace_count` integer
    - `total` integer, required
    - `limit` integer, required
    - `offset` integer, required
  - TeamListWithWorkspacesResponse: List of teams with workspaces included.
    - `teams` TeamWithWorkspacesResponse[], required
      - `team_id` string, required
      - `name` string, required
      - `description` string, nullable
      - `avatar_url` string, nullable
      - `owner` PublicPersonResponse: Another person as anyone may see them (founder's rule, 2026-09-25). Never a profile ID, never an email. `member_ref` is the opaque, per-context handle routes accept for this person (null where there is no context to mint one in). `display_name` is a public name or, with none, the person's role and team where the response knows them ("Admin (via Kong)"), else "Member" (2026-10-08; never "JubJub member").
        - `member_ref` string, nullable
        - `display_name` string, required
        - `avatar_url` string, nullable
        - `handle` string, nullable
        - `is_you` boolean
        - `role` string, nullable
        - `via_team` string, nullable
      - `is_owner` boolean
      - `my_role` string, nullable
      - `member_count` integer
      - `workspace_count` integer
      - `workspaces` WorkspaceSummary[]
        - `workspace_id` string, required
        - `name` string, required
        - `description` string, nullable
        - `cover_image_url` string, nullable
        - `owner` PublicPersonResponse: Another person as anyone may see them (founder's rule, 2026-09-25). Never a profile ID, never an email. `member_ref` is the opaque, per-context handle routes accept for this person (null where there is no context to mint one in). `display_name` is a public name or, with none, the person's role and team where the response knows them ("Admin (via Kong)"), else "Member" (2026-10-08; never "JubJub member").
          - `member_ref` string, nullable
          - `display_name` string, required
          - `avatar_url` string, nullable
          - `handle` string, nullable
          - `is_you` boolean
          - `role` string, nullable
          - `via_team` string, nullable
        - `is_owner` boolean
        - `kind` 'workspace' | 'collection'
        - `total_contents` integer
        - `launched_contents` integer
        - `progress` integer
        - `progress_summary` WorkspaceProgressSummary: Quick progress summary (3 categories) for workspace listing.
          - `published` integer
          - `in_progress` integer
          - `pending` integer
    - `total` integer, required
    - `limit` integer, required
    - `offset` integer, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/jubjubapp/apis/jubjub-api.md) - [All operations](https://skmtc.dev/jubjubapp/apis/jubjub-api/llms.txt) - [OpenAPI document](https://skmtc.dev/jubjubapp/apis/jubjub-api/revisions/353157b296f2?raw)
