---
title: "Get a list of teams"
method: GET
path: "/teams"
tags: ["teams"]
---

# Get a list of teams

`GET /teams`

Returns all teams for the organization, each with how it assigns issues and its recurring
assignment schedule if it has one.

**Rate limit:** 300 requests per minute

## Response `200`

- GetTeamsResponseBody
  - `data` Team[] — The data payload of the response.
    - `assignment_configuration` TeamAssignmentConfiguration
      - `assignment_method` string — How issues are routed to team members. One of routing, schedule, manual, pull_queue.
      - `only_assign_if_user_active` boolean — Whether issues are only assigned to members who are currently active.
      - `override_existing_assignee` boolean — Whether assignment replaces an existing assignee.
      - `team_schedule_id` string — The ID of the schedule this team assigns from. Read-only; a team has at most one schedule.
    - `id` string — The ID of the team.
    - `name` string — The name of the team.
    - `schedule` TeamSchedule
      - `blocks` TeamScheduleBlock[] — Who receives issues and when.
        - `days` string[] — The days this block covers. Empty when the recurrence is daily.
        - `end_time` string — When the block ends, as HH:MM in the schedule's timezone. An end at or before the start means the next day.
        - `recurrence` string — How often the block repeats: weekly, biweekly, or daily. A block configured in the Pylon app with a recurrence these fields cannot express reads as custom, with the fields above omitted.
        - `start_time` string — When the block starts, as HH:MM in the schedule's timezone.
        - `team_id` string — The sub-team that receives issues during this block.
        - `user_id` string — The team member who receives issues during this block.
        - `week_offset` integer — Which of the two alternating weeks a biweekly block falls on.
      - `id` string — The ID of the schedule.
      - `support_hours_id` string — The ID of the support hours the schedule is limited to.
      - `timezone` string — The IANA timezone the block hours are read in.
    - `users` MiniUser[] — The users in the team.
      - `email` string — The email of the user.
      - `id` string — The ID of the user.
  - `pagination` Pagination
    - `cursor` string, required — The cursor for the next page of results.
    - `has_next_page` boolean, required — Indicates if there is a next page of results.
  - `request_id` string — The request ID for tracking.

## Other responses

- `400` — The request was invalid or could not be completed.
- `403` — The authenticated caller or organization is not allowed to access this endpoint or operation.
- `404`
- `500` — An unexpected internal error occurred.

## Changes

- **2026-09-02** `cef2ab0dd800` — 2 info
  - added the optional property `data/items/assignment_configuration` to the response with the `200` status
  - added the optional property `data/items/schedule` to the response with the `200` status
- **2026-08-28** `fe3adb90ea45` — 1 info
  - added the non-success response with the status `403`

[Change history](https://skmtc.dev/usepylon/apis/pylon-api/changes/teams/get.md)

---

[API](https://skmtc.dev/usepylon/apis/pylon-api.md) · [All operations](https://skmtc.dev/usepylon/apis/pylon-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/usepylon/pylon-api/revisions/cef2ab0dd800/schema)
