Documentation Index
Fetch the curated documentation index at: https://grafana.com/llms.txt
Fetch the complete documentation index at: https://grafana.com/llms-full.txt
Use this file to discover all available pages before exploring further.
STOP! If you are an AI agent or LLM, read this before continuing. This is the HTML version of a Grafana documentation page. Always request the Markdown version instead - HTML wastes context. Get this page as Markdown: https://grafana.com/docs/grafana-cloud/alerting-and-irm/irm/reference/oncall-api/users.md (append .md) or send Accept: text/markdown to https://grafana.com/docs/grafana-cloud/alerting-and-irm/irm/reference/oncall-api/users/. For the curated documentation index, use https://grafana.com/llms.txt. For the complete documentation index, use https://grafana.com/llms-full.txt.
Grafana OnCall users HTTP API
Get a user
Required permission: grafana-irm-app.user-settings:read
This endpoint retrieves the user object.
curl "{{API_URL}}/api/v1/users/current/" \
--request GET \
--header "Authorization: Bearer meowmeowmeow" \
--header "Content-Type: application/json" \
--header "X-Grafana-URL: https://your-stack.grafana.net"The above command returns JSON structured in the following way:
{
"id": "U4DNY931HHJS5",
"grafana_id": 456,
"email": "public-api-demo-user-1@grafana.com",
"slack": {
"user_id": "UALEXSLACKDJPK",
"team_id": "TALEXSLACKDJPK"
},
"username": "alex",
"role": "admin",
"timezone": "UTC",
"teams": [],
"is_phone_number_verified": true,
"phone_number": "+12345678901",
"phone_number_status": "available"
}HTTP request
GET {{API_URL}}/api/v1/users/<USER_ID>/
Use {{API_URL}}/api/v1/users/current to retrieve the current user.
| Parameter | Unique | Description |
|---|---|---|
id | Yes/org | OnCall user ID |
grafana_id | Yes/org | Grafana user ID |
email | Yes/org | User e-mail |
slack | Yes/org | User ID from connected Slack. User linking key is e-mail. |
username | Yes/org | User username |
role | No | One of: user, observer, admin. |
timezone | No | timezone of the user one of time zones. |
teams | No | List of team IDs the user belongs to |
is_phone_number_verified | No | Whether the user has a verified phone number. |
phone_number | No | The user’s verified phone number, or null if not configured or private. |
phone_number_status | No | One of: available (number returned), private (user has hidden their number), not_configured (user has no verified number). |
Note
When the organization setting Override phone number privacy for API is enabled, users who have set their phone number to private will still have their number returned with status
available. This setting does not affect phone number visibility in the UI.
List Users
Required permission: grafana-irm-app.user-settings:read
curl "{{API_URL}}/api/v1/users/" \
--request GET \
--header "Authorization: Bearer meowmeowmeow" \
--header "Content-Type: application/json" \
--header "X-Grafana-URL: https://your-stack.grafana.net"The above command returns JSON structured in the following way:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": "U4DNY931HHJS5",
"grafana_id": 456,
"email": "public-api-demo-user-1@grafana.com",
"slack": {
"user_id": "UALEXSLACKDJPK",
"team_id": "TALEXSLACKDJPK"
},
"username": "alex",
"role": "admin",
"timezone": "UTC",
"teams": ["TAAM1K1NNEHAG"],
"is_phone_number_verified": true,
"phone_number": "+12345678901",
"phone_number_status": "available"
}
],
"current_page_number": 1,
"page_size": 100,
"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:
username(Exact match)team_id(Exact match, team ID)
HTTP request
GET {{API_URL}}/api/v1/users/
Was this page helpful?
Related resources from Grafana Labs


