Caution

As of 2026-03-24, the Grafana OnCall OSS project is archived. The grafana/oncall repository is read-only, and active development continues in Grafana Cloud IRM. For a fully supported and actively maintained alternative, Grafana Cloud IRM offers a modern approach to incident response and on-call management.

Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.

Documentationbreadcrumb arrow OnCallbreadcrumb arrow API referencebreadcrumb arrow Grafana OnCall teams HTTP API
Open source

Grafana OnCall teams HTTP API

Get a team

Required permission: grafana-oncall-app.user-settings:read

This endpoint retrieves the team object.

shell
curl "{{API_URL}}/api/v1/teams/TI73TDU19W48J/" \
  --request GET \
  --header "Authorization: meowmeowmeow" \
  --header "Content-Type: application/json"

The above command returns JSON structured in the following way:

JSON
{
  "id": "TI73TDU19W48J",
  "grafana_id": 123,
  "name": "my test team",
  "email": "",
  "avatar_url": "/avatar/3f49c15916554246daa714b9bd0ee398"
}

HTTP request

GET {{API_URL}}/api/v1/teams/<TEAM_ID>/

ParameterUniqueDescription
idYes/orgOnCall team ID
grafana_idYes/orgGrafana team ID
nameYes/orgTeam name
emailYes/orgTeam e-mail
avatar_urlYesAvatar URL of the Grafana team

List Teams

Required permission: grafana-oncall-app.user-settings:read

shell
curl "{{API_URL}}/api/v1/teams/" \
  --request GET \
  --header "Authorization: meowmeowmeow" \
  --header "Content-Type: application/json"

The above command returns JSON structured in the following way:

JSON
{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "TI73TDU19W48J",
      "grafana_id": 123,
      "name": "my test team",
      "email": "",
      "avatar_url": "/avatar/3f49c15916554246daa714b9bd0ee398"
    }
  ],
  "page_size": 50,
  "current_page_number": 1,
  "total_pages": 1
}

Note: The response is paginated. You may need to make multiple requests to get all records.

The following available filter parameter should be provided as a GET argument:

  • name (Exact match)

HTTP request

GET {{API_URL}}/api/v1/teams/