Everything an AI agent can do with the Statuspage API.

A reference guide for building AI agents: every method, how to authenticate, and the permissions each one needs.

Endpoints36
API versionv1
Last updated23 June 2026
Orientation

How the Statuspage API works.

The Statuspage API is how an app or AI agent runs a status page: opening and updating incidents, flipping a component to a degraded or operational status, adding metric data points, and managing the subscribers who get notified. Access is granted through an organization API key that is admin-level and page-scoped, so a valid key can read and write everything across the pages its organization owns, with no read-only or per-endpoint permission to narrow it. There is no version header to pin, and a webhook subscriber can receive incident updates instead of polling.

36Endpoints
8Capability groups
17Read
19Write
0Permissions
Authentication
The Manage API authenticates with an organization API key, sent in the Authorization header as 'OAuth {key}' or as an api_key query parameter. The key is managed at the organization level and tied to an admin role. Statuspage does not offer a read-only key, and the same key both reads and writes.
Permissions
There are no granular per-endpoint scopes. An API key is page-scoped and admin-level, so any valid key can call every Manage API method, read or write, across the pages its organization owns. Because the key cannot be narrowed inside Statuspage, the only place to limit an agent to, say, reading incidents but not editing subscribers is in front of the API. This is the gap Bollard fills.
Rate limits
Each key is limited to a request rate measured over a rolling 60-second window, documented as one request per second, which works out to about 60 requests per minute. A few unpaginated list calls, such as listing all components, are capped tighter at one request per minute. Exceeding a limit returns a 420 or a 429. The separate public Status API is not rate limited.
Data model
Almost every resource is nested under a page, addressed as /pages/{page_id}/... and covering incidents, components, component groups, subscribers, and metrics, while the page itself sits at /pages. An incident carries a timeline of incident updates and an optional postmortem. Components report a status such as operational or major_outage, and metrics hold timestamped data points shown as charts.
Connect & authenticate

Connection & authentication methods.

How an app or AI agent connects to Statuspage determines what it can reach. The Manage API makes authenticated calls with an API key, while a separate public Status API reads a page's current state without a key.

Ways to connect

Manage API

The Manage API answers at api.statuspage.io under the v1 path. It is authenticated with an organization API key and lets an app create and update incidents, components, subscribers, and metrics.

Best forConnecting an app or AI agent to manage a status page.
Governed byThe API key, which is page-scoped and admin-level with no per-endpoint scope.
Docs ↗

Status API

The public Status API reads a page's current status, components, and incidents for embedding elsewhere. It needs no key for a public page, and is not rate limited.

Best forReading a page's current state without a key.
Governed byPublic for an open page; a private page needs the key passed as a header.
Docs ↗

Webhook subscriber

A webhook subscriber registers a receiver URL on a page. Statuspage posts the incident payload to that URL when an incident is created or updated, so an integration learns of changes without polling.

Best forReceiving incident updates without polling.
Governed byThe subscriber registration, created through the Manage API or the page itself.
Docs ↗
Authentication

Organization API key

The Manage API authenticates with an organization API key sent in the Authorization header as 'OAuth {key}', or as an api_key query parameter. The key is admin-level and page-scoped, with no read-only variant and no per-endpoint scopes.

TokenOrganization API key
Best forAll authenticated Manage API calls
Docs ↗
Capability map

What an AI agent can do in Statuspage.

The Statuspage API is split into areas an agent can act on, like incidents, components, subscribers, and metrics. Each area has its own methods, and writes here change what visitors see on a public status page.

Incidents

8 endpoints

List, read, create, update, and delete incidents, including filtered views of unresolved, scheduled, and upcoming incidents, and edit a past incident update.

Writes here change what visitors see on the public status page.
View endpoints

Postmortems

3 endpoints

Read, create or publish, and delete the postmortem attached to an incident.

Writes here publish or remove public postmortem content.
View endpoints

Components

5 endpoints

List, read, create, update, and delete the components whose status the page reports.

Writes here change the reported status of a component.
View endpoints

Component groups

4 endpoints

List, read, create, update, and delete the groups that organize components on the page.

Writes here change how components are grouped on the page.
View endpoints

Subscribers

6 endpoints

List, read, create, update, and unsubscribe the people and endpoints that receive incident notifications, and read counts by type.

Writes here add or remove who receives notifications, and may send confirmation messages.
View endpoints

Metrics & data points

5 endpoints

List and read metrics, update and delete a metric, add data points to a metric, and reset a metric's data.

Writes here change the performance figures shown on the page.
View endpoints

Pages

3 endpoints

List the status pages on the account, read a single page, and update its settings.

Writes here change page-wide settings.
View endpoints

Status embed

2 endpoints

Read and update the configuration for the status embed widget shown on external sites.

Writes here change the embedded status widget's appearance.
View endpoints
Endpoint reference

Every Statuspage API method.

Filter by method, access, or permission, or search any path. Select a row for version detail, rate limits, the related webhook event, and the source.

MethodEndpointWhat it doesAccessPermissionVersion

Incidents

List, read, create, update, and delete incidents, including filtered views of unresolved, scheduled, and upcoming incidents, and edit a past incident update.8

The Manage API key is page-scoped and admin-level, with no read-only or per-endpoint scope, so any valid key can read this.

Acts onincident
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Returns incidents that are not yet resolved. The Manage API key carries no per-endpoint scope.

Acts onincident
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Scheduled incidents are the planned-maintenance flavor. The Manage API key carries no per-endpoint scope.

Acts onincident
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

The Manage API key carries no per-endpoint scope.

Acts onincident
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Creating an incident publishes it to the page and can notify subscribers. The Manage API key carries no per-endpoint scope.

Acts onincident
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventincident.update
Rate limitStandard limits apply

Posting a new incident update can notify subscribers. The Manage API key carries no per-endpoint scope.

Acts onincident
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventincident.update
Rate limitStandard limits apply

Deletion removes the incident and its history from the page. The Manage API key carries no per-endpoint scope.

Acts onincident
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Edits a single past update without creating a new one. The Manage API key carries no per-endpoint scope.

Acts onincident update
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Postmortems

Read, create or publish, and delete the postmortem attached to an incident.3

The Manage API key carries no per-endpoint scope.

Acts onpostmortem
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Publishing makes the postmortem visible and can notify subscribers. The Manage API key carries no per-endpoint scope.

Acts onpostmortem
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

The Manage API key carries no per-endpoint scope.

Acts onpostmortem
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Components

List, read, create, update, and delete the components whose status the page reports.5

An unpaginated list of components is limited to one request per minute. The Manage API key carries no per-endpoint scope.

Acts oncomponent
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limit1 request per minute (unpaginated)

The Manage API key carries no per-endpoint scope.

Acts oncomponent
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

The Manage API key carries no per-endpoint scope.

Acts oncomponent
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Changing the status field here moves the component between states such as operational and major_outage. The Manage API key carries no per-endpoint scope.

Acts oncomponent
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

The Manage API key carries no per-endpoint scope.

Acts oncomponent
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Component groups

List, read, create, update, and delete the groups that organize components on the page.4

The Manage API key carries no per-endpoint scope.

Acts oncomponent group
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

The Manage API key carries no per-endpoint scope.

Acts oncomponent group
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

The Manage API key carries no per-endpoint scope.

Acts oncomponent group
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

The Manage API key carries no per-endpoint scope.

Acts oncomponent group
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Subscribers

List, read, create, update, and unsubscribe the people and endpoints that receive incident notifications, and read counts by type.6

Returns subscriber contact details such as email addresses or phone numbers. The Manage API key carries no per-endpoint scope.

Acts onsubscriber
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Returns the subscriber's contact details. The Manage API key carries no per-endpoint scope.

Acts onsubscriber
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

A webhook subscriber registers a receiver URL that Statuspage posts incident updates to. The Manage API key carries no per-endpoint scope.

Acts onsubscriber
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

The Manage API key carries no per-endpoint scope.

Acts onsubscriber
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Removes the subscriber so they stop receiving notifications. The Manage API key carries no per-endpoint scope.

Acts onsubscriber
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Counts subscribers by channel, such as email, SMS, or webhook. The Manage API key carries no per-endpoint scope.

Acts onsubscriber
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Metrics & data points

List and read metrics, update and delete a metric, add data points to a metric, and reset a metric's data.5

The Manage API key carries no per-endpoint scope.

Acts onmetric
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

The Manage API key carries no per-endpoint scope.

Acts onmetric
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Adds a timestamped value to the metric's chart on the page. The Manage API key carries no per-endpoint scope.

Acts onmetric data point
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Clears the metric's recorded data points. The Manage API key carries no per-endpoint scope.

Acts onmetric data point
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

The Manage API key carries no per-endpoint scope.

Acts onmetric
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Pages

List the status pages on the account, read a single page, and update its settings.3

Lists every page the key's organization can reach. The Manage API key carries no per-endpoint scope.

Acts onpage
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

The Manage API key carries no per-endpoint scope.

Acts onpage
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Changes page-wide settings such as name, domain, and appearance. The Manage API key carries no per-endpoint scope.

Acts onpage
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Status embed

Read and update the configuration for the status embed widget shown on external sites.2

The Manage API key carries no per-endpoint scope.

Acts onstatus embed config
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Changes how the embedded status widget looks on external sites. The Manage API key carries no per-endpoint scope.

Acts onstatus embed config
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply
No endpoints match those filters.
Webhooks

Webhook events.

Statuspage can notify a subscriber when an incident is created or updated, instead of that subscriber polling the page. A webhook subscriber registers a receiver URL, and Statuspage posts the incident payload to it each time the incident changes.

EventWhat it signalsTriggered by
incident notificationStatuspage posts an incident payload to a webhook subscriber's receiver URL when an incident is created and each time it is updated, so the subscriber tracks the incident without polling./pages/{page_id}/incidents
/pages/{page_id}/incidents/{incident_id}
No events match that search.
Rate limits & pagination

Rate limits, pagination & request size.

Statuspage limits how fast an app or AI agent can call the Manage API, through a per-key request rate measured over a rolling window. The public Status API is not rate limited.

Request rate

The Manage API limits each API key to a request rate measured over a rolling 60-second window, documented as one request per second, which works out to 60 requests per minute. Some unpaginated list calls, such as listing components and listing page access users, are held to one request per minute. Going over returns a 420 or a 429. The public Status API is not rate limited.

Pagination

List endpoints page through the page and per_page query parameters, where per_page defaults to 100. To stay inside the per-minute cap on unpaginated component lists, paginated requests should be used for large pages.

Request size

Requests and responses are JSON, and a request body may be sent form url-encoded or as JSON as long as the Content-Type header matches. There is no separately documented payload size limit.

Errors

Status codes & error handling.

The status codes an agent should handle, and what to do about each.

StatusCodeMeaningWhat to do
401UnauthorizedThe API key is missing or invalid.Send a valid key in the Authorization header as 'OAuth {key}'.
403ForbiddenThe key is valid but not permitted to act on this page or resource.Use a key whose organization owns the page being called.
404Not FoundThe page or resource in the path does not exist or is not visible to the key.Confirm the page_id and resource id are correct.
422Unprocessable EntityThe request was well-formed but a field is missing or invalid. The body carries an error and message describing the problem.Read the message, correct the named field, and resend.
420Rate LimitedThe per-key rate limit was exceeded. Statuspage returns 420 or 429 when too many requests are made.Slow down to within one request per second and retry.
429Too Many RequestsThe per-key rate limit was exceeded.Wait until the rolling window clears, then retry.
Versioning & freshness

Version history.

Statuspage carries one version of its Manage API in the path, v1, and does not use dated version strings. Changes ship in place against that single version.

Version history

What changed, and when

Latest versionv1
v1Current version
Manage API v1

The Manage API is served under the v1 path at api.statuspage.io and is the current and only supported version. It authenticates with an organization API key, covers incidents, components, component groups, subscribers, metrics, pages, and the status embed, and ships changes in place rather than minting dated versions. An older v0 existed before v1 and is no longer the documented version.

What changed
  • Single path-versioned Manage API at api.statuspage.io/v1
  • Organization API key authentication, admin-level and page-scoped, with no read-only key
  • Rate limit of one request per second on a rolling 60-second window, returning 420 or 429 when exceeded
v0
Earlier v0 API

An earlier v0 of the Statuspage API existed before v1. It has been superseded by the v1 Manage API, which is the version documented at developer.statuspage.io.

What changed
  • Predecessor to the current v1 Manage API
  • Superseded by v1; v1 is the documented and supported version

An integration calls the single v1 Manage API; there is no version header to pin.

Statuspage API reference ↗
Questions

Statuspage API, answered.

How does an agent authenticate to the Statuspage API?+
The Manage API uses an organization API key. It is sent in the Authorization header in the form 'OAuth {key}', or as an api_key query parameter. The key is created at the organization level and carries an admin role, so it can both read and write. Statuspage does not currently offer a read-only API key.
Are there read-only or per-endpoint permissions?+
No. Statuspage does not offer a read-only key, and there are no per-endpoint scopes. Any valid Manage API key is admin-level and page-scoped, so it can call every method across the pages its organization owns. Limiting an agent to a subset of actions has to be done in front of the API rather than inside Statuspage.
What are the rate limits?+
Each API key is limited to a request rate measured over a rolling 60-second window, documented as one request per second, which works out to about 60 requests per minute. Some unpaginated list calls, such as listing all components, are held tighter at one request per minute. Going over returns a 420 or a 429. The public Status API has no rate limit.
How does an agent receive incident updates without polling?+
By registering a webhook subscriber on the page. A webhook subscriber has a receiver URL, and Statuspage posts the incident payload to it when an incident is created and each time it is updated. This avoids repeatedly listing incidents to spot changes.
Is there a single API or several?+
There are two. The Manage API is the authenticated API for creating and updating incidents, components, subscribers, and metrics, documented at developer.statuspage.io. The separate Status API is a public, read-only feed of a page's current state for embedding elsewhere, and it is not rate limited.
Does the API use version numbers?+
The Manage API carries a single version in the path, v1, and does not use dated version strings or a version header. Changes ship in place against that version.
Related

More developer API guides for agents

What is Bollard AI?

Control what every AI agent can do in Statuspage.

Bollard AI sits between a team's AI agents and Statuspage. Grant each agent exactly the access it needs, read or write, resource by resource, and every call is checked and logged.

  • Set read, write, or full access per agent, never a shared Statuspage key.
  • Denied by default, so an agent reaches only what has been explicitly allowed.
  • Every call recorded in plain English: who, what, where, and the decision.
Statuspage
Incident Agent
Read incidents ResourceOffReadFull use
Post incident updates ActionOffReadFull use
Manage subscribers ResourceOffReadFull use
Per-agent access, set in Bollard AI, not in Statuspage