oncall-engine/docs/sources/oncall-api-reference/teams.md
Joey Orlando 51c72fcea2
feat: add Grafana IDs to users and teams public API endpoints (#5075)
# What this PR does

- add Grafana IDs to users and teams public API endpoints
- update Schedules public API docs to reflect the fact that [we allow
filtering by
`team_id`](https://github.com/grafana/oncall/blob/dev/engine/apps/public_api/views/schedules.py#L42)

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-09-24 19:16:22 +00:00

2.2 KiB

canonical title weight refs
https://grafana.com/docs/oncall/latest/oncall-api-reference/teams/ Grafana OnCall teams HTTP API 0
pagination
pattern destination
/docs/oncall/ /docs/oncall/<ONCALL_VERSION>/oncall-api-reference/#pagination
pattern destination
/docs/grafana-cloud/ /docs/grafana-cloud/alerting-and-irm/oncall/oncall-api-reference/#pagination

Grafana OnCall teams HTTP API

Get a team

This endpoint retrieves the team object.

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:

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

HTTP request

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

Parameter Unique Description
id Yes/org OnCall team ID
grafana_id Yes/org Grafana team ID
name Yes/org Team name
email Yes/org Team e-mail
avatar_url Yes Avatar URL of the Grafana team

List Teams

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:

{
  "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/