---
title: "Grafana OnCall organizations HTTP API | Grafana Cloud documentation"
description: "Grafana OnCall organizations HTTP API The organizations API exposes the current Grafana IRM organization (always a single org for the authenticated token). Use the id value returned by list or get as <ORGANIZATION_ID> in the path. It is the OnCall organization public ID, not your Grafana stack ID."
---

> For a curated documentation index, see [llms.txt](/llms.txt). For the complete documentation index, see [llms-full.txt](/llms-full.txt).

# Grafana OnCall organizations HTTP API

The organizations API exposes the current Grafana IRM organization (always a single org for the authenticated token). Use the **`id`** value returned by list or get as **`<ORGANIZATION_ID>`** in the path. It is the OnCall organization public ID, not your Grafana stack ID.

## Get an organization

**Required permission**: `grafana-irm-app.other-settings:read`

This endpoint retrieves the organization object.

shell ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```shell
curl "{{API_URL}}/api/v1/organizations/O53AAGWFBPE5W/" \
  --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:

JSON ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```json
{
  "id": "O53AAGWFBPE5W",
  "manually_manage_direct_paging_integrations": false
}
```

**HTTP request**

`GET {{API_URL}}/api/v1/organizations/<ORGANIZATION_ID>/`

Expand table

| Parameter                                    | Unique | Description                                                                                                                                                                                                                                                                                                                                    |
|----------------------------------------------|--------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `id`                                         | Yes    | Organization ID (public primary key).                                                                                                                                                                                                                                                                                                          |
| `manually_manage_direct_paging_integrations` | No     | When `true`, Grafana IRM does not automatically create or delete **direct paging** integrations; you manage them explicitly (for example with Terraform). When `false` or `null`, default automation applies. See [Manually manage direct paging integrations](/docs/irm/next/reference/set-up/admin-settings/#manually-manage-direct-paging). |

## Update an organization

**Required permission**: `grafana-irm-app.other-settings:write`

Updates organization settings exposed by this API. You can send a full representation with `PUT` or only the fields to change with `PATCH`.

shell ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```shell
curl "{{API_URL}}/api/v1/organizations/O53AAGWFBPE5W/" \
  --request PATCH \
  --header "Authorization: Bearer meowmeowmeow" \
  --header "Content-Type: application/json" \
  --header "X-Grafana-URL: https://your-stack.grafana.net" \
  --data '{
    "manually_manage_direct_paging_integrations": true
  }'
```

The response body matches [Get an organization](#get-an-organization).

**HTTP request**

`PATCH {{API_URL}}/api/v1/organizations/<ORGANIZATION_ID>/`

`PUT {{API_URL}}/api/v1/organizations/<ORGANIZATION_ID>/`

Expand table

| Parameter                                    | Unique | Description                                                                                                                                              |
|----------------------------------------------|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------|
| `manually_manage_direct_paging_integrations` | No     | Writable. Set to `true` to take manual control of direct paging integrations (required before creating or deleting them via the API without automation). |

## List organizations

**Required permission**: `grafana-irm-app.other-settings:read`

shell ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```shell
curl "{{API_URL}}/api/v1/organizations/" \
  --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:

JSON ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```json
{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "O53AAGWFBPE5W",
      "manually_manage_direct_paging_integrations": false
    }
  ],
  "page_size": 25,
  "current_page_number": 1,
  "total_pages": 1
}
```

> Note
> 
> The response is [paginated](/docs/grafana-cloud/alerting-and-irm/irm/reference/oncall-api/#pagination). You may need to make multiple requests to get all records.

**HTTP request**

`GET {{API_URL}}/api/v1/organizations/`
