Skip to main content
Teams are groups of members that are associated with one or more projects. Use teams to control which members have access to which projects.

List teams in an organization

GET /api/0/organizations/{organization_id_or_slug}/teams/
Returns a list of teams bound to an organization. Required scope: team:read

Path parameters

organization_id_or_slug
string
required
The ID or slug of the organization.

Query parameters

detailed
string
Set to "1" to include team member details in the response.
cursor
string
Pagination cursor from the Link response header.

Example request

curl https://sentry.io/api/0/organizations/my-org/teams/ \
  -H "Authorization: Bearer <token>"

Example response

[
  {
    "id": "1",
    "slug": "backend",
    "name": "Backend",
    "dateCreated": "2018-11-06T21:20:08Z",
    "isMember": true,
    "memberCount": 5,
    "avatar": {
      "avatarType": "letter_avatar",
      "avatarUuid": null
    }
  }
]

Response fields

id
string
The unique ID of the team.
slug
string
The URL-friendly identifier for the team.
name
string
The display name of the team.
dateCreated
string
ISO 8601 timestamp of when the team was created.
isMember
boolean
Whether the authenticated user is a member of this team.
memberCount
integer
The number of members in the team.

Create a team

POST /api/0/organizations/{organization_id_or_slug}/teams/
Creates a new team in the organization. Required scope: team:write

Path parameters

organization_id_or_slug
string
required
The ID or slug of the organization.

Request body

name
string
required
The display name for the team.
slug
string
A unique slug for the team. Generated from the name if not provided.

Example request

curl -X POST https://sentry.io/api/0/organizations/my-org/teams/ \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"name": "Frontend"}'

Retrieve a team

GET /api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/
Returns details for a specific team, including its members. Required scope: team:read

Path parameters

organization_id_or_slug
string
required
The ID or slug of the organization.
team_id_or_slug
string
required
The ID or slug of the team.

Example request

curl https://sentry.io/api/0/teams/my-org/backend/ \
  -H "Authorization: Bearer <token>"

Add a member to a team

POST /api/0/organizations/{organization_id_or_slug}/members/{member_id}/teams/{team_id_or_slug}/
Adds an existing organization member to a team. Required scope: team:write

Path parameters

organization_id_or_slug
string
required
The ID or slug of the organization.
member_id
string
required
The ID of the organization member.
team_id_or_slug
string
required
The ID or slug of the team.

Example request

curl -X POST https://sentry.io/api/0/organizations/my-org/members/1/teams/backend/ \
  -H "Authorization: Bearer <token>"

Remove a member from a team

DELETE /api/0/organizations/{organization_id_or_slug}/members/{member_id}/teams/{team_id_or_slug}/
Removes an organization member from a specific team. Required scope: team:write

Path parameters

organization_id_or_slug
string
required
The ID or slug of the organization.
member_id
string
required
The ID of the organization member.
team_id_or_slug
string
required
The ID or slug of the team to remove the member from.

Example request

curl -X DELETE https://sentry.io/api/0/organizations/my-org/members/1/teams/backend/ \
  -H "Authorization: Bearer <token>"
A successful removal returns 200 OK with the updated team membership object.

Build docs developers (and LLMs) love