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

# List teams

`GET /teams`

Retrieves a paginated list of teams from your workspace.
Teams represent groups of members that can be used for organizing work and assigning ownership.

- Teams are sorted by creation date, newest first.
- Use the `name` parameter to filter by name (case-insensitive exact match).
- Use the `handle` parameter to filter by handle (case-insensitive exact match).
- Use the `query` parameter to search by partial name or handle (case-insensitive). For example, `query=product` will match "Product Team", "My Product", "production", etc.
- Use the `pageCursor` parameter to paginate through results.

## Query parameters

- `pageCursor` string
- `name` string
- `handle` string
- `query` string

## Response `200`

A paginated list of teams

- object
  - `data` Team[]
    - `id` string, uuid, required — Unique identifier of the team
    - `type` 'team', required — Resource type identifier
    - `links` TeamLinks, required — Links for navigating team resources.
      - `self` string, uri, required — URL of the team resource.
      - `members` string, uri, required — URL of the paginated team members sub-resource.
      - `html` string, uri, required — URL of the team page in the Productboard UI.
    - `fields` TeamFields, required — Fields of a team resource.
      - `name` string, required — The name of the team.
      - `handle` string, required — Unique handle for @mentions. Lowercase alphanumeric only.
      - `description` string — Optional description of the team.
      - `avatarUrl` string, uri, nullable — URL of the team's avatar image. Read-only. Returns `null` if no avatar is set.
    - `createdAt` string, date-time, required — ISO 8601 timestamp when the team was created
    - `updatedAt` string, date-time, required — ISO 8601 timestamp when the team was last updated
  - `links` ListLinks
    - `next` string, nullable, required

## Other responses

- `400` — Bad Request - Invalid input format or malformed request
- `401` — Unauthorized - Missing or invalid authentication credentials
- `403` — Forbidden - Insufficient permissions
- `408` — Request Timeout - The server did not receive a complete request within the allowed time
- `429` — Too Many Requests - API rate limit exceeded, reduce request frequency and retry after the indicated time
- `500` — Internal Server Error - An unexpected error occurred on the server, please retry or contact support

---

[API](https://skmtc.dev/productboard/apis/notes.md) · [All operations](https://skmtc.dev/productboard/apis/notes/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/productboard/notes/revisions/b4004749b60f/schema)
