Download OpenAPI specification:Download
Please don't abuse the API, and please report all feature requests and issues to https://support.atlassian.com/contact
Each API token is limited to 1 request / second as measured on a 60 second rolling window. To get this limit increased, please contact us at https://support.atlassian.com/contact
Error codes 420 or 429 indicate that you have exceeded the rate limit and the request has been rejected.
In order to maintain version integrity into the future, the API is versioned. All calls currently begin with the following prefix:
Wherever possible, the API seeks to implement repeatable patterns with logical, representative URLs and descriptive HTTP verbs. Below are some examples and conventions you will see throughout the documentation.
Information can be sent in the body as form urlencoded or JSON, but make sure the Content-Type header matches the body structure or the server gremlins will be angry.
All examples are provided in JSON format, however they can easily be converted to form encoding if required. Some examples of how to convert things are below:
// JSON
{
"incident": {
"name": "test incident",
"components": ["8kbf7d35c070", "vtnh60py4yd7"]
}
}
// Form Encoded (using curl as an example):
curl -X POST https://api.statuspage.io/v1/example \
-d "incident[name]=test incident" \
-d "incident[components][]=8kbf7d35c070" \
-d "incident[components][]=vtnh60py4yd7"
Authentication is done via an API token provided in the Statuspage management interface.
The following example authenticates you with the Statuspage API. Along with the Page ID listed on the API page, we can fetch your page profile.
curl -H "Authorization: OAuth 89a229ce1a8dbcf9ff30430fbe35eb4c0426574bca932061892cefd2138aa4b1" \
https://api.statuspage.io/v1/pages/gytm4qzbx9t6.json
curl "https://api.statuspage.io/v1/pages/gytm4qzbx9t6.json?api_key=89a229ce1a8dbcf9ff30430fbe35eb4c0426574bca932061892cefd2138aa4b1"
Security Scheme Type | API Key |
---|---|
Header parameter name: | Authorization |
Update a user's role permissions. Payload should contain a mapping of pages to a set of the desired roles, if the page has Role Based Access Control. Otherwise, the pages should map to an empty hash. User will lose access to any pages omitted from the payload.
organization_id required | string Organization Identifier |
user_id required | string User identifier |
pages | object |
Update a user's role permissions. Payload should contain a mapping of pages to a set of the desired roles, if the page has Role Based Access Control. Otherwise, the pages should map to an empty hash. User will lose access to any pages omitted from the payload.
Bad request
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
{- "pages": {
- "page_id": {
- "page_configuration": true,
- "incident_manager": true,
- "maintenance_manager": true
}
}
}
{- "user_id": "wg5rb3fzsg2n",
- "pages": [
- {
- "page_id": "04qbfq8lvpp3",
- "page_configuration": false,
- "incident_manager": true,
- "maintenance_manager": true
}, - {
- "page_id": "nz9bqh8d0hnl",
- "page_configuration": false,
- "incident_manager": true,
- "maintenance_manager": true
}
]
}
Get a user's permissions
organization_id required | string Organization Identifier |
user_id required | string User identifier |
Get a user's permissions
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/organizations/{organization_id}/permissions/{user_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
{- "user_id": "xkjqwf07j7kg",
- "pages": [
- {
- "page_id": "dlqpc4stl3t6",
- "page_configuration": false,
- "incident_manager": true,
- "maintenance_manager": true
}, - {
- "page_id": "ngdkgwfj7d15",
- "page_configuration": false,
- "incident_manager": true,
- "maintenance_manager": true
}
]
}
Get status embed config settings
page_id required | string Page identifier |
Get status embed config settings
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/status_embed_config \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
{- "page_id": "string",
- "position": "string",
- "incident_background_color": "string",
- "incident_text_color": "string",
- "maintenance_background_color": "string",
- "maintenance_text_color": "string"
}
Update status embed config settings
page_id required | string Page identifier |
status_embed_config | object |
Update status embed config settings
Bad request
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
Unprocessable entity
{- "status_embed_config": {
- "position": "string",
- "incident_background_color": "string",
- "incident_text_color": "string",
- "maintenance_background_color": "string",
- "maintenance_text_color": "string"
}
}
{- "page_id": "string",
- "position": "string",
- "incident_background_color": "string",
- "incident_text_color": "string",
- "maintenance_background_color": "string",
- "maintenance_text_color": "string"
}
Update status embed config settings
page_id required | string Page identifier |
status_embed_config | object |
Update status embed config settings
Bad request
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
Unprocessable entity
{- "status_embed_config": {
- "position": "string",
- "incident_background_color": "string",
- "incident_text_color": "string",
- "maintenance_background_color": "string",
- "maintenance_text_color": "string"
}
}
{- "page_id": "string",
- "position": "string",
- "incident_background_color": "string",
- "incident_text_color": "string",
- "maintenance_background_color": "string",
- "maintenance_text_color": "string"
}
Your page profile drives basic settings for your status page including your company name, notification preferences, and time zone.
Get a list of pages
Get a list of pages
Could not authenticate
curl https://api.statuspage.io/v1/pages \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
[- {
- "id": "fhbqtjtd4c0k",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "name": "My Company Status",
- "page_description": "string",
- "headline": "string",
- "branding": "string",
- "subdomain": "your-subdomain.statuspage.io",
- "domain": "status.mycompany.com",
- "support_url": "string",
- "hidden_from_search": true,
- "allow_page_subscribers": true,
- "allow_incident_subscribers": true,
- "allow_email_subscribers": true,
- "allow_sms_subscribers": true,
- "allow_rss_atom_feeds": true,
- "allow_webhook_subscribers": true,
- "notifications_from_email": "no-reply@status.mycompany.com",
- "notifications_email_footer": "string",
- "activity_score": 0,
- "twitter_username": "string",
- "viewers_must_be_team_members": true,
- "ip_restrictions": "string",
- "city": "string",
- "state": "string",
- "country": "string",
- "time_zone": "UTC",
- "css_body_background_color": "string",
- "css_font_color": "string",
- "css_light_font_color": "string",
- "css_greens": "string",
- "css_yellows": "string",
- "css_oranges": "string",
- "css_blues": "string",
- "css_reds": "string",
- "css_border_color": "string",
- "css_graph_color": "string",
- "css_link_color": "string",
- "css_no_data": "string",
- "favicon_logo": "string",
- "transactional_logo": "string",
- "hero_cover": "string",
- "email_logo": "string",
- "twitter_logo": "string"
}
]
Update a page
page_id required | string Page identifier |
page | object |
Update a page
Bad request
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
Unprocessable entity
{- "page": {
- "name": "string",
- "domain": "string",
- "subdomain": "string",
- "url": "string",
- "branding": "premium",
- "css_body_background_color": "string",
- "css_font_color": "string",
- "css_light_font_color": "string",
- "css_greens": "string",
- "css_yellows": "string",
- "css_oranges": "string",
- "css_reds": "string",
- "css_blues": "string",
- "css_border_color": "string",
- "css_graph_color": "string",
- "css_link_color": "string",
- "css_no_data": "string",
- "hidden_from_search": true,
- "viewers_must_be_team_members": true,
- "allow_page_subscribers": true,
- "allow_incident_subscribers": true,
- "allow_email_subscribers": true,
- "allow_sms_subscribers": true,
- "allow_rss_atom_feeds": true,
- "allow_webhook_subscribers": true,
- "notifications_from_email": "string",
- "time_zone": "string",
- "notifications_email_footer": "string"
}
}
{- "id": "fhbqtjtd4c0k",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "name": "My Company Status",
- "page_description": "string",
- "headline": "string",
- "branding": "string",
- "subdomain": "your-subdomain.statuspage.io",
- "domain": "status.mycompany.com",
- "support_url": "string",
- "hidden_from_search": true,
- "allow_page_subscribers": true,
- "allow_incident_subscribers": true,
- "allow_email_subscribers": true,
- "allow_sms_subscribers": true,
- "allow_rss_atom_feeds": true,
- "allow_webhook_subscribers": true,
- "notifications_from_email": "no-reply@status.mycompany.com",
- "notifications_email_footer": "string",
- "activity_score": 0,
- "twitter_username": "string",
- "viewers_must_be_team_members": true,
- "ip_restrictions": "string",
- "city": "string",
- "state": "string",
- "country": "string",
- "time_zone": "UTC",
- "css_body_background_color": "string",
- "css_font_color": "string",
- "css_light_font_color": "string",
- "css_greens": "string",
- "css_yellows": "string",
- "css_oranges": "string",
- "css_blues": "string",
- "css_reds": "string",
- "css_border_color": "string",
- "css_graph_color": "string",
- "css_link_color": "string",
- "css_no_data": "string",
- "favicon_logo": "string",
- "transactional_logo": "string",
- "hero_cover": "string",
- "email_logo": "string",
- "twitter_logo": "string"
}
Update a page
page_id required | string Page identifier |
page | object |
Update a page
Bad request
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
Unprocessable entity
{- "page": {
- "name": "string",
- "domain": "string",
- "subdomain": "string",
- "url": "string",
- "branding": "premium",
- "css_body_background_color": "string",
- "css_font_color": "string",
- "css_light_font_color": "string",
- "css_greens": "string",
- "css_yellows": "string",
- "css_oranges": "string",
- "css_reds": "string",
- "css_blues": "string",
- "css_border_color": "string",
- "css_graph_color": "string",
- "css_link_color": "string",
- "css_no_data": "string",
- "hidden_from_search": true,
- "viewers_must_be_team_members": true,
- "allow_page_subscribers": true,
- "allow_incident_subscribers": true,
- "allow_email_subscribers": true,
- "allow_sms_subscribers": true,
- "allow_rss_atom_feeds": true,
- "allow_webhook_subscribers": true,
- "notifications_from_email": "string",
- "time_zone": "string",
- "notifications_email_footer": "string"
}
}
{- "id": "fhbqtjtd4c0k",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "name": "My Company Status",
- "page_description": "string",
- "headline": "string",
- "branding": "string",
- "subdomain": "your-subdomain.statuspage.io",
- "domain": "status.mycompany.com",
- "support_url": "string",
- "hidden_from_search": true,
- "allow_page_subscribers": true,
- "allow_incident_subscribers": true,
- "allow_email_subscribers": true,
- "allow_sms_subscribers": true,
- "allow_rss_atom_feeds": true,
- "allow_webhook_subscribers": true,
- "notifications_from_email": "no-reply@status.mycompany.com",
- "notifications_email_footer": "string",
- "activity_score": 0,
- "twitter_username": "string",
- "viewers_must_be_team_members": true,
- "ip_restrictions": "string",
- "city": "string",
- "state": "string",
- "country": "string",
- "time_zone": "UTC",
- "css_body_background_color": "string",
- "css_font_color": "string",
- "css_light_font_color": "string",
- "css_greens": "string",
- "css_yellows": "string",
- "css_oranges": "string",
- "css_blues": "string",
- "css_reds": "string",
- "css_border_color": "string",
- "css_graph_color": "string",
- "css_link_color": "string",
- "css_no_data": "string",
- "favicon_logo": "string",
- "transactional_logo": "string",
- "hero_cover": "string",
- "email_logo": "string",
- "twitter_logo": "string"
}
Get a page
page_id required | string Page identifier |
Get a page
Bad request
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
{- "id": "fhbqtjtd4c0k",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "name": "My Company Status",
- "page_description": "string",
- "headline": "string",
- "branding": "string",
- "subdomain": "your-subdomain.statuspage.io",
- "domain": "status.mycompany.com",
- "support_url": "string",
- "hidden_from_search": true,
- "allow_page_subscribers": true,
- "allow_incident_subscribers": true,
- "allow_email_subscribers": true,
- "allow_sms_subscribers": true,
- "allow_rss_atom_feeds": true,
- "allow_webhook_subscribers": true,
- "notifications_from_email": "no-reply@status.mycompany.com",
- "notifications_email_footer": "string",
- "activity_score": 0,
- "twitter_username": "string",
- "viewers_must_be_team_members": true,
- "ip_restrictions": "string",
- "city": "string",
- "state": "string",
- "country": "string",
- "time_zone": "UTC",
- "css_body_background_color": "string",
- "css_font_color": "string",
- "css_light_font_color": "string",
- "css_greens": "string",
- "css_yellows": "string",
- "css_oranges": "string",
- "css_blues": "string",
- "css_reds": "string",
- "css_border_color": "string",
- "css_graph_color": "string",
- "css_link_color": "string",
- "css_no_data": "string",
- "favicon_logo": "string",
- "transactional_logo": "string",
- "hero_cover": "string",
- "email_logo": "string",
- "twitter_logo": "string"
}
Page access users allow you to limit people who can see your status page via a login. It also allows you to limit the components and metrics each status page visitor can see, customizing the status page for their needs.
You will need Statuspage to switch your page type to audience-specific before these API endpoints have any effect on your status page.
Add a page access user
page_id required | string Page identifier |
page_access_user | object |
Add a page access user
Bad request
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
The request could not be processed due to a conflict in resource state.
Unprocessable entity
{- "page_access_user": {
- "external_login": "string",
- "email": "string",
- "page_access_group_ids": [
- "string"
], - "subscribe_to_components": true
}
}
{- "id": "jxwk51jr6m9h",
- "page_id": "string",
- "email": "user@example.com",
- "external_login": "string",
- "page_access_group_id": "string",
- "page_access_group_ids": [ ],
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Get a list of page access users
page_id required | string Page identifier |
string Email address to search for | |
page | integer <int32> Page offset to fetch. Beginning February 28, 2023, this endpoint will return paginated data even if this query parameter is not provided. |
per_page | integer <int32> Number of results to return per page. Beginning February 28, 2023, a default and maximum limit of 100 will be imposed and this endpoint will return paginated data even if this query parameter is not provided. |
Get a list of page access users
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/page_access_users \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
[- {
- "id": "jxwk51jr6m9h",
- "page_id": "string",
- "email": "user@example.com",
- "external_login": "string",
- "page_access_group_id": "string",
- "page_access_group_ids": [ ],
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
]
Update page access user
page_id required | string Page identifier |
page_access_user_id required | string Page Access User Identifier |
Update page access user
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X PATCH \ -d "page_access_user[external_login]=string" \ -d "page_access_user[email]=string" \ -d "page_access_user[page_access_group_ids][]=your-id"
{- "id": "jxwk51jr6m9h",
- "page_id": "string",
- "email": "user@example.com",
- "external_login": "string",
- "page_access_group_id": "string",
- "page_access_group_ids": [ ],
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Update page access user
page_id required | string Page identifier |
page_access_user_id required | string Page Access User Identifier |
Update page access user
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X PATCH \ -d "page_access_user[external_login]=string" \ -d "page_access_user[email]=string" \ -d "page_access_user[page_access_group_ids][]=your-id"
{- "id": "jxwk51jr6m9h",
- "page_id": "string",
- "email": "user@example.com",
- "external_login": "string",
- "page_access_group_id": "string",
- "page_access_group_ids": [ ],
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Delete page access user
page_id required | string Page identifier |
page_access_user_id required | string Page Access User Identifier |
Delete page access user
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X DELETE
{- "message": "string"
}
Get page access user
page_id required | string Page identifier |
page_access_user_id required | string Page Access User Identifier |
Get page access user
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
{- "id": "jxwk51jr6m9h",
- "page_id": "string",
- "email": "user@example.com",
- "external_login": "string",
- "page_access_group_id": "string",
- "page_access_group_ids": [ ],
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Add components for page access user
page_id required | string Page identifier |
page_access_user_id required | string Page Access User Identifier |
component_ids required | Array of strings List of component codes to allow access to |
Add components for page access user
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
{- "component_ids": [
- "string"
]
}
{- "id": "jxwk51jr6m9h",
- "page_id": "string",
- "email": "user@example.com",
- "external_login": "string",
- "page_access_group_id": "string",
- "page_access_group_ids": [ ],
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Add components for page access user
page_id required | string Page identifier |
page_access_user_id required | string Page Access User Identifier |
component_ids required | Array of strings List of component codes to allow access to |
Add components for page access user
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
{- "component_ids": [
- "string"
]
}
{- "id": "jxwk51jr6m9h",
- "page_id": "string",
- "email": "user@example.com",
- "external_login": "string",
- "page_access_group_id": "string",
- "page_access_group_ids": [ ],
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Replace components for page access user
page_id required | string Page identifier |
page_access_user_id required | string Page Access User Identifier |
component_ids required | Array of strings List of component codes to allow access to |
Replace components for page access user
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
{- "component_ids": [
- "string"
]
}
{- "id": "jxwk51jr6m9h",
- "page_id": "string",
- "email": "user@example.com",
- "external_login": "string",
- "page_access_group_id": "string",
- "page_access_group_ids": [ ],
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Remove components for page access user
page_id required | string Page identifier |
page_access_user_id required | string Page Access User Identifier |
component_ids | Array of strings List of components codes to remove. If omitted, all components will be removed. |
Remove components for page access user
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
{- "component_ids": [
- "string"
]
}
{- "id": "jxwk51jr6m9h",
- "page_id": "string",
- "email": "user@example.com",
- "external_login": "string",
- "page_access_group_id": "string",
- "page_access_group_ids": [ ],
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Get components for page access user
page_id required | string Page identifier |
page_access_user_id required | string Page Access User Identifier |
page | integer <int32> Page offset to fetch. Beginning February 28, 2023, this endpoint will return paginated data even if this query parameter is not provided. |
per_page | integer <int32> Number of results to return per page. Beginning February 28, 2023, a default and maximum limit of 100 will be imposed and this endpoint will return paginated data even if this query parameter is not provided. |
Get components for page access user
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id}/components \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
[- {
- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
]
Remove component for page access user
page_id required | string Page identifier |
page_access_user_id required | string Page Access User Identifier |
component_id required | string Component identifier |
Remove component for page access user
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id}/components \ -H "Authorization: OAuth your-api-key-goes-here" \ -X DELETE
{- "id": "jxwk51jr6m9h",
- "page_id": "string",
- "email": "user@example.com",
- "external_login": "string",
- "page_access_group_id": "string",
- "page_access_group_ids": [ ],
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Add metrics for page access user
page_id required | string Page identifier |
page_access_user_id required | string Page Access User Identifier |
metric_ids required | Array of strings List of metrics to add |
Add metrics for page access user
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
{- "metric_ids": [
- "string"
]
}
{- "id": "jxwk51jr6m9h",
- "page_id": "string",
- "email": "user@example.com",
- "external_login": "string",
- "page_access_group_id": "string",
- "page_access_group_ids": [ ],
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Add metrics for page access user
page_id required | string Page identifier |
page_access_user_id required | string Page Access User Identifier |
metric_ids required | Array of strings List of metrics to add |
Add metrics for page access user
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
{- "metric_ids": [
- "string"
]
}
{- "id": "jxwk51jr6m9h",
- "page_id": "string",
- "email": "user@example.com",
- "external_login": "string",
- "page_access_group_id": "string",
- "page_access_group_ids": [ ],
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Replace metrics for page access user
page_id required | string Page identifier |
page_access_user_id required | string Page Access User Identifier |
metric_ids required | Array of strings List of metrics to add |
Replace metrics for page access user
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
{- "metric_ids": [
- "string"
]
}
{- "id": "jxwk51jr6m9h",
- "page_id": "string",
- "email": "user@example.com",
- "external_login": "string",
- "page_access_group_id": "string",
- "page_access_group_ids": [ ],
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Delete metrics for page access user
page_id required | string Page identifier |
page_access_user_id required | string Page Access User Identifier |
metric_ids | Array of strings List of metrics to remove |
Delete metrics for page access user
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
{- "metric_ids": [
- "string"
]
}
{- "id": "jxwk51jr6m9h",
- "page_id": "string",
- "email": "user@example.com",
- "external_login": "string",
- "page_access_group_id": "string",
- "page_access_group_ids": [ ],
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Get metrics for page access user
page_id required | string Page identifier |
page_access_user_id required | string Page Access User Identifier |
page | integer <int32> Page offset to fetch. Beginning February 28, 2023, this endpoint will return paginated data even if this query parameter is not provided. |
per_page | integer <int32> Number of results to return per page. Beginning February 28, 2023, a default and maximum limit of 100 will be imposed and this endpoint will return paginated data even if this query parameter is not provided. |
Get metrics for page access user
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id}/metrics \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
[- {
- "id": "string",
- "metrics_provider_id": "string",
- "metric_identifier": "string",
- "name": "string",
- "display": true,
- "tooltip_description": "string",
- "backfilled": true,
- "y_axis_min": 0,
- "y_axis_max": 0,
- "y_axis_hidden": true,
- "suffix": "string",
- "decimal_places": 0,
- "most_recent_data_at": "2024-11-19T04:40:12Z",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "last_fetched_at": "2024-11-19T04:40:12Z",
- "backfill_percentage": 0,
- "reference_name": "string"
}
]
Delete metric for page access user
page_id required | string Page identifier |
page_access_user_id required | string Page Access User Identifier |
metric_id required | string Identifier of metric requested |
Delete metric for page access user
curl https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id}/metrics/{metric_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X DELETE
{- "id": "jxwk51jr6m9h",
- "page_id": "string",
- "email": "user@example.com",
- "external_login": "string",
- "page_access_group_id": "string",
- "page_access_group_ids": [ ],
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Page access groups allow you to create a grouping of components, metrics and people who can see your status page via a login, customizing the status page for their needs.
You will need Statuspage to switch your page type to audience-specific before these API endpoints have any effect on your status page.
Get a list of page access groups
page_id required | string Page identifier |
page | integer <int32> Page offset to fetch. Beginning February 28, 2023, this endpoint will return paginated data even if this query parameter is not provided. |
per_page | integer <int32> Number of results to return per page. Beginning February 28, 2023, a default and maximum limit of 100 will be imposed and this endpoint will return paginated data even if this query parameter is not provided. |
Get a list of page access groups
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/page_access_groups \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
[- {
- "id": "vqm4vvyyvvx7",
- "page_id": "string",
- "name": "string",
- "page_access_user_ids": [
- "kxf69zjx0zyr"
], - "external_identifier": "string",
- "metric_ids": [
- "n5z76l3p7k6q"
], - "component_ids": [
- "tytdjlwstgtl"
], - "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
]
Create a page access group
page_id required | string Page identifier |
page_access_group | object |
Create a page access group
Bad request
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
Unprocessable entity
{- "page_access_group": {
- "name": "string",
- "external_identifier": "string",
- "component_ids": [
- "string"
], - "metric_ids": [
- "string"
], - "page_access_user_ids": [
- "string"
]
}
}
{- "id": "vqm4vvyyvvx7",
- "page_id": "string",
- "name": "string",
- "page_access_user_ids": [
- "kxf69zjx0zyr"
], - "external_identifier": "string",
- "metric_ids": [
- "n5z76l3p7k6q"
], - "component_ids": [
- "tytdjlwstgtl"
], - "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Get a page access group
page_id required | string Page identifier |
page_access_group_id required | string Page Access Group Identifier |
Get a page access group
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/page_access_groups/{page_access_group_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
{- "id": "vqm4vvyyvvx7",
- "page_id": "string",
- "name": "string",
- "page_access_user_ids": [
- "kxf69zjx0zyr"
], - "external_identifier": "string",
- "metric_ids": [
- "n5z76l3p7k6q"
], - "component_ids": [
- "tytdjlwstgtl"
], - "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Update a page access group
page_id required | string Page identifier |
page_access_group_id required | string Page Access Group Identifier |
page_access_group | object |
Update a page access group
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
{- "page_access_group": {
- "name": "string",
- "external_identifier": "string",
- "component_ids": [
- "string"
], - "metric_ids": [
- "string"
], - "page_access_user_ids": [
- "string"
]
}
}
{- "id": "vqm4vvyyvvx7",
- "page_id": "string",
- "name": "string",
- "page_access_user_ids": [
- "kxf69zjx0zyr"
], - "external_identifier": "string",
- "metric_ids": [
- "n5z76l3p7k6q"
], - "component_ids": [
- "tytdjlwstgtl"
], - "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Update a page access group
page_id required | string Page identifier |
page_access_group_id required | string Page Access Group Identifier |
page_access_group | object |
Update a page access group
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
{- "page_access_group": {
- "name": "string",
- "external_identifier": "string",
- "component_ids": [
- "string"
], - "metric_ids": [
- "string"
], - "page_access_user_ids": [
- "string"
]
}
}
{- "id": "vqm4vvyyvvx7",
- "page_id": "string",
- "name": "string",
- "page_access_user_ids": [
- "kxf69zjx0zyr"
], - "external_identifier": "string",
- "metric_ids": [
- "n5z76l3p7k6q"
], - "component_ids": [
- "tytdjlwstgtl"
], - "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Remove a page access group
page_id required | string Page identifier |
page_access_group_id required | string Page Access Group Identifier |
Remove a page access group
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/page_access_groups/{page_access_group_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X DELETE
{- "id": "vqm4vvyyvvx7",
- "page_id": "string",
- "name": "string",
- "page_access_user_ids": [
- "kxf69zjx0zyr"
], - "external_identifier": "string",
- "metric_ids": [
- "n5z76l3p7k6q"
], - "component_ids": [
- "tytdjlwstgtl"
], - "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Add components to page access group
page_id required | string Page identifier |
page_access_group_id required | string Page Access Group Identifier |
component_ids | Array of strings List of Component identifiers |
Add components to page access group
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
{- "component_ids": [
- "string"
]
}
{- "id": "vqm4vvyyvvx7",
- "page_id": "string",
- "name": "string",
- "page_access_user_ids": [
- "kxf69zjx0zyr"
], - "external_identifier": "string",
- "metric_ids": [
- "n5z76l3p7k6q"
], - "component_ids": [
- "tytdjlwstgtl"
], - "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Add components to page access group
page_id required | string Page identifier |
page_access_group_id required | string Page Access Group Identifier |
component_ids | Array of strings List of Component identifiers |
Add components to page access group
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
{- "component_ids": [
- "string"
]
}
{- "id": "vqm4vvyyvvx7",
- "page_id": "string",
- "name": "string",
- "page_access_user_ids": [
- "kxf69zjx0zyr"
], - "external_identifier": "string",
- "metric_ids": [
- "n5z76l3p7k6q"
], - "component_ids": [
- "tytdjlwstgtl"
], - "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Replace components for a page access group
page_id required | string Page identifier |
page_access_group_id required | string Page Access Group Identifier |
component_ids required | Array of strings List of components codes to set on the page access group |
Replace components for a page access group
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
{- "component_ids": [
- "string"
]
}
{- "id": "vqm4vvyyvvx7",
- "page_id": "string",
- "name": "string",
- "page_access_user_ids": [
- "kxf69zjx0zyr"
], - "external_identifier": "string",
- "metric_ids": [
- "n5z76l3p7k6q"
], - "component_ids": [
- "tytdjlwstgtl"
], - "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Delete components for a page access group
page_id required | string Page identifier |
page_access_group_id required | string Page Access Group Identifier |
component_ids | Array of strings |
Delete components for a page access group
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
{- "component_ids": [
- "string"
]
}
{- "id": "vqm4vvyyvvx7",
- "page_id": "string",
- "name": "string",
- "page_access_user_ids": [
- "kxf69zjx0zyr"
], - "external_identifier": "string",
- "metric_ids": [
- "n5z76l3p7k6q"
], - "component_ids": [
- "tytdjlwstgtl"
], - "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
List components for a page access group
page_id required | string Page identifier |
page_access_group_id required | string Page Access Group Identifier |
page | integer <int32> Page offset to fetch. Beginning February 28, 2023, this endpoint will return paginated data even if this query parameter is not provided. |
per_page | integer <int32> Number of results to return per page. Beginning February 28, 2023, a default and maximum limit of 100 will be imposed and this endpoint will return paginated data even if this query parameter is not provided. |
List components for a page access group
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/page_access_groups{page_access_group_id}/components \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
[- {
- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
]
Remove a component from a page access group
page_id required | string Page identifier |
page_access_group_id required | string Page Access Group Identifier |
component_id required | string Component identifier |
Remove a component from a page access group
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/page_access_groups{page_access_group_id}/components/{component_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X DELETE
{- "id": "vqm4vvyyvvx7",
- "page_id": "string",
- "name": "string",
- "page_access_user_ids": [
- "kxf69zjx0zyr"
], - "external_identifier": "string",
- "metric_ids": [
- "n5z76l3p7k6q"
], - "component_ids": [
- "tytdjlwstgtl"
], - "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Subscribers are those that receive notifications via email, sms, Slack, Microsoft Teams or webhook to incidents that are reported and subsequently updated.
Subscribers can be subscribed to:
If a (page or component) subscriber fails to receive a notification, they will be quarantined. Quarantined subscribers are excluded from API responses and interactions by default.
Resend confirmations to a list of subscribers
page_id required | string Page identifier |
subscribers required | string The array of subscriber codes to resend confirmations for, or "all" to resend confirmations to all subscribers. Only unconfirmed email subscribers will receive this notification. |
Resend confirmations to a list of subscribers
Bad request
Could not authenticate
The requested resource could not be found.
Unprocessable entity
{- "subscribers": "string"
}
{- "message": "string"
}
Unsubscribe a list of subscribers
page_id required | string Page identifier |
subscribers required | string The array of subscriber codes to unsubscribe (limited to 100), or "all" to unsubscribe all subscribers if the number of subscribers is less than 100. |
type | string Enum: "email" "sms" "slack" "webhook" "teams" "integration_partner" If this is present, only unsubscribe subscribers of this type. |
state | string Default: "active" Enum: "active" "unconfirmed" "quarantined" "all" If this is present, only unsubscribe subscribers in this state. Specify state "all" to unsubscribe subscribers in any states. |
skip_unsubscription_notification | boolean If skip_unsubscription_notification is true, the subscribers do not receive any notifications when they are unsubscribed. |
Unsubscribe a list of subscribers
Bad request
Could not authenticate
The requested resource could not be found.
Unprocessable entity
{- "subscribers": "string",
- "type": "email",
- "state": "active",
- "skip_unsubscription_notification": true
}
{- "message": "string"
}
Reactivate a list of quarantined subscribers
page_id required | string Page identifier |
subscribers required | string The array of quarantined subscriber codes to reactivate, or "all" to reactivate all quarantined subscribers. |
type | string Enum: "email" "sms" "slack" "webhook" "integration_partner" If this is present, only reactivate subscribers of this type. |
Reactivate a list of quarantined subscribers
Bad request
Could not authenticate
The requested resource could not be found.
Unprocessable entity
{- "subscribers": "string",
- "type": "email"
}
{- "message": "string"
}
Get a histogram of subscribers by type and then state
page_id required | string Page identifier |
Get a histogram of subscribers by type and then state
Could not authenticate
The requested resource could not be found.
Unprocessable entity
curl https://api.statuspage.io/v1/pages/{page_id}/subscribers/histogram_by_state \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
{- "email": {
- "active": 0,
- "unconfirmed": 0,
- "quarantined": 0,
- "total": 0
}, - "sms": {
- "active": 0,
- "unconfirmed": 0,
- "quarantined": 0,
- "total": 0
}, - "webhook": {
- "active": 0,
- "unconfirmed": 0,
- "quarantined": 0,
- "total": 0
}, - "integration_partner": {
- "active": 0,
- "unconfirmed": 0,
- "quarantined": 0,
- "total": 0
}, - "slack": {
- "active": 0,
- "unconfirmed": 0,
- "quarantined": 0,
- "total": 0
}, - "teams": {
- "active": 0,
- "unconfirmed": 0,
- "quarantined": 0,
- "total": 0
}
}
Get a count of subscribers by type
page_id required | string Page identifier |
type | string Enum: "email" "sms" "slack" "webhook" "teams" "integration_partner" If this is present, only count subscribers of this type. |
state | string Default: "active" Enum: "active" "unconfirmed" "quarantined" "all" If this is present, only count subscribers in this state. Specify state "all" to count subscribers in any states. |
Get a count of subscribers by type
Bad request
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/subscribers/count \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
{- "email": 0,
- "sms": 0,
- "webhook": 0,
- "integration_partner": 0,
- "slack": 0,
- "teams": 0
}
Get a list of unsubscribed subscribers
page_id required | string Page identifier |
page | integer <int32> Page offset to fetch. Beginning February 28, 2023, this endpoint will return paginated data even if this query parameter is not provided. |
per_page | integer <int32> Number of results to return per page. Beginning February 28, 2023, a default and maximum limit of 100 will be imposed and this endpoint will return paginated data even if this query parameter is not provided. |
Get a list of unsubscribed subscribers
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/subscribers/unsubscribed \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
[- {
- "id": "kjcmhryf4vt1",
- "skip_confirmation_notification": true,
- "mode": "email",
- "email": "foo@example2.com",
- "phone_number": "202-555-0105",
- "phone_country": "US",
- "display_phone_number": "+1 (202) 555-0105",
- "obfuscated_channel_name": "#*******an",
- "workspace_name": "Atlassian",
- "quarantined_at": "2024-11-19T04:40:12Z",
- "purge_at": "2024-11-19T04:40:12Z",
- "components": [
- "8012vm0pd0sr"
], - "page_access_user_id": "dyc22t3m3y49",
- "created_at": "2024-11-19T04:40:12Z"
}
]
Create a subscriber. Not applicable for Slack subscribers.
page_id required | string Page identifier |
subscriber | object |
Create a subscriber. Not applicable for Slack subscribers.
Bad request
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
Unprocessable entity
{- "subscriber": {
- "email": "string",
- "endpoint": "string",
- "phone_country": "string",
- "phone_number": "string",
- "skip_confirmation_notification": true,
- "page_access_user": "string",
- "component_ids": [
- "string"
]
}
}
{- "id": "kjcmhryf4vt1",
- "skip_confirmation_notification": true,
- "mode": "email",
- "email": "foo@example2.com",
- "phone_number": "202-555-0105",
- "phone_country": "US",
- "display_phone_number": "+1 (202) 555-0105",
- "obfuscated_channel_name": "#*******an",
- "workspace_name": "Atlassian",
- "quarantined_at": "2024-11-19T04:40:12Z",
- "purge_at": "2024-11-19T04:40:12Z",
- "components": [
- "8012vm0pd0sr"
], - "page_access_user_id": "dyc22t3m3y49",
- "created_at": "2024-11-19T04:40:12Z"
}
Get a list of subscribers
page_id required | string Page identifier |
q | string If this is specified, search the contact information (email, endpoint, or phone number) for the provided value. This parameter doesn’t support searching for Slack subscribers. |
type | string Enum: "email" "sms" "webhook" "slack" "teams" "integration_partner" If specified, only return subscribers of the indicated type. |
state | string Default: "active" Enum: "active" "unconfirmed" "quarantined" "all" If this is present, only return subscribers in this state. Specify state "all" to find subscribers in any states. |
limit | integer <int32> The maximum number of rows to return. If a text query string is specified (q=), the default and maximum limit is 100. If the text query string is not specified, the default and maximum limit are not set, and not providing a limit will return all the subscribers. Beginning February 28, 2023, a default limit of 100 will be imposed and this endpoint will return paginated data (i.e. will no longer return all subscribers) even if this query parameter is not provided. |
page | integer <int32> Default: 0 The page offset of subscribers. The first page is page 0, the second page 1, etc. This skips page * limit subscribers. Beginning February 28, 2023, this endpoint will return paginated data even if this query parameter is not provided. |
sort_field | string Default: "primary" Enum: "primary" "created_at" "quarantined_at" "relevance" The field on which to sort: 'primary' to indicate sorting by the identifying field, 'created_at' for sorting by creation timestamp, 'quarantined_at' for sorting by quarantine timestamp, and 'relevance' which sorts by the relevancy of the search text. 'relevance' is not a valid parameter if no search text is supplied. |
sort_direction | string Default: "asc" Enum: "asc" "desc" The sort direction of the listing. |
Get a list of subscribers
Bad request
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
Unprocessable entity
curl https://api.statuspage.io/v1/pages/{page_id}/subscribers \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
[- {
- "id": "kjcmhryf4vt1",
- "skip_confirmation_notification": true,
- "mode": "email",
- "email": "foo@example2.com",
- "phone_number": "202-555-0105",
- "phone_country": "US",
- "display_phone_number": "+1 (202) 555-0105",
- "obfuscated_channel_name": "#*******an",
- "workspace_name": "Atlassian",
- "quarantined_at": "2024-11-19T04:40:12Z",
- "purge_at": "2024-11-19T04:40:12Z",
- "components": [
- "8012vm0pd0sr"
], - "page_access_user_id": "dyc22t3m3y49",
- "created_at": "2024-11-19T04:40:12Z"
}
]
Resend confirmation to a subscriber
page_id required | string Page identifier |
subscriber_id required | string Subscriber Identifier |
Resend confirmation to a subscriber
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/subscribers/{subscriber_id}/resend_confirmation \ -H "Authorization: OAuth your-api-key-goes-here" \ -X POST
{- "message": "string"
}
Unsubscribe a subscriber
page_id required | string Page identifier |
subscriber_id required | string Subscriber Identifier |
skip_unsubscription_notification | boolean If skip_unsubscription_notification is true, the subscriber does not receive any notifications when they are unsubscribed. |
Unsubscribe a subscriber
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/subscribers/{subscriber_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X DELETE
{- "id": "kjcmhryf4vt1",
- "skip_confirmation_notification": true,
- "mode": "email",
- "email": "foo@example2.com",
- "phone_number": "202-555-0105",
- "phone_country": "US",
- "display_phone_number": "+1 (202) 555-0105",
- "obfuscated_channel_name": "#*******an",
- "workspace_name": "Atlassian",
- "quarantined_at": "2024-11-19T04:40:12Z",
- "purge_at": "2024-11-19T04:40:12Z",
- "components": [
- "8012vm0pd0sr"
], - "page_access_user_id": "dyc22t3m3y49",
- "created_at": "2024-11-19T04:40:12Z"
}
Update a subscriber
page_id required | string Page identifier |
subscriber_id required | string Subscriber Identifier |
component_ids | Array of strings A list of component ids for which the subscriber should recieve updates for. Components must be an array with at least one element if it is passed at all. Each component must belong to the page indicated in the path. To set the subscriber to be subscribed to all components on the page, exclude this parameter. |
Update a subscriber
Could not authenticate
The requested resource could not be found.
Unprocessable entity
{- "component_ids": [
- "string"
]
}
{- "id": "kjcmhryf4vt1",
- "skip_confirmation_notification": true,
- "mode": "email",
- "email": "foo@example2.com",
- "phone_number": "202-555-0105",
- "phone_country": "US",
- "display_phone_number": "+1 (202) 555-0105",
- "obfuscated_channel_name": "#*******an",
- "workspace_name": "Atlassian",
- "quarantined_at": "2024-11-19T04:40:12Z",
- "purge_at": "2024-11-19T04:40:12Z",
- "components": [
- "8012vm0pd0sr"
], - "page_access_user_id": "dyc22t3m3y49",
- "created_at": "2024-11-19T04:40:12Z"
}
Get a subscriber
page_id required | string Page identifier |
subscriber_id required | string Subscriber Identifier |
Get a subscriber
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/subscribers/{subscriber_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
{- "id": "kjcmhryf4vt1",
- "skip_confirmation_notification": true,
- "mode": "email",
- "email": "foo@example2.com",
- "phone_number": "202-555-0105",
- "phone_country": "US",
- "display_phone_number": "+1 (202) 555-0105",
- "obfuscated_channel_name": "#*******an",
- "workspace_name": "Atlassian",
- "quarantined_at": "2024-11-19T04:40:12Z",
- "purge_at": "2024-11-19T04:40:12Z",
- "components": [
- "8012vm0pd0sr"
], - "page_access_user_id": "dyc22t3m3y49",
- "created_at": "2024-11-19T04:40:12Z"
}
Templates allow you to set a pre-filled name and message that can be used later to save time when creating an incident or scheduling a maintenance.
Create a template
page_id required | string Page identifier |
template | object |
Create a template
Bad request
Could not authenticate
The requested resource could not be found.
Unprocessable entity
{- "template": {
- "name": "string",
- "title": "string",
- "body": "string",
- "group_id": "string",
- "update_status": "investigating",
- "should_tweet": true,
- "should_send_notifications": true,
- "component_ids": [
- "1ss1vgkq6034"
]
}
}
{- "id": "m4f04px479hx",
- "components": [
- {
- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
], - "name": "string",
- "title": "string",
- "body": "string",
- "group_id": "zljczr8kgxth",
- "update_status": "investigating",
- "should_tweet": true,
- "should_send_notifications": true
}
Get a list of templates
page_id required | string Page identifier |
page | integer <int32> Default: 1 Page offset to fetch. |
per_page | integer <int32> Default: 100 Number of results to return per page. |
Get a list of templates
Could not authenticate
curl https://api.statuspage.io/v1/pages/{page_id}/incident_templates \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
[- {
- "id": "m4f04px479hx",
- "components": [
- {
- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
], - "name": "string",
- "title": "string",
- "body": "string",
- "group_id": "zljczr8kgxth",
- "update_status": "investigating",
- "should_tweet": true,
- "should_send_notifications": true
}
]
Incidents are critical events that have occurred with your product or service that you want to communicate to your users. They come in three flavors: historical, realtime, and scheduled.
Historical: historical incidents are submitted to accuractely reflect past incidents from your infrastructure that occurred before you created your Statuspage account.
Realtime: realtime incidents are created when something unexpected is affecting your infrastructure. Notifications are sent out to your subscribers informing them of the incident, and it is displayed prominently at the top of your status page. This is the most common incident type.
Scheduled: scheduled incidents are planned outages or maintenance periods coming up in the future. Notifications are sent out to your subscribers informing them of the planned incident, and additional options are available to remind subscribers 60 minutes before the incident start and to automatically transition the incident to In Progress at the start of the incident maintenance period.
Create an incident
page_id required | string Page identifier |
incident | object |
Create an incident
Bad request
Could not authenticate
The requested resource could not be found.
Unprocessable entity
{- "incident": {
- "name": "string",
- "status": "investigating",
- "impact_override": "none",
- "scheduled_for": "2013-05-07T03:00:00.007Z",
- "scheduled_until": "2013-05-07T06:00:00.007Z",
- "scheduled_remind_prior": true,
- "auto_transition_to_maintenance_state": true,
- "auto_transition_to_operational_state": true,
- "scheduled_auto_in_progress": true,
- "scheduled_auto_completed": true,
- "auto_transition_deliver_notifications_at_start": true,
- "auto_transition_deliver_notifications_at_end": true,
- "reminder_intervals": "string",
- "metadata": { },
- "deliver_notifications": true,
- "auto_tweet_at_beginning": true,
- "auto_tweet_on_completion": true,
- "auto_tweet_on_creation": true,
- "auto_tweet_one_hour_before": true,
- "backfill_date": "string",
- "backfilled": true,
- "body": "string",
- "components": {
- "f5ktlfs69wvz": "operational"
}, - "component_ids": [
- "76cvnh2vzl83"
], - "scheduled_auto_transition": true
}
}
{- "id": "p31zjtct2jer",
- "components": [
- {
- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
], - "created_at": "2024-11-19T04:40:12Z",
- "impact": "critical",
- "impact_override": "minor",
- "incident_updates": [
- {
- "id": "string",
- "incident_id": "string",
- "affected_components": [
- {
- "code": "string",
- "name": "string",
- "old_status": "operational",
- "new_status": "operational"
}
], - "body": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "custom_tweet": "string",
- "deliver_notifications": true,
- "display_at": "2024-11-19T04:40:12Z",
- "status": "investigating",
- "tweet_id": "string",
- "twitter_updated_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "wants_twitter_update": true
}
], - "metadata": {
- "jira": {
- "issue_id": "value"
}
}, - "monitoring_at": "2024-11-19T04:40:12Z",
- "name": "Data Layer Migration",
- "page_id": "string",
- "postmortem_body": "##### Issue\nAt approximately 17:02 UTC on 2013-04-21, our master database server unexpectedly went unresponsive to all network.\nA reboot of the machine at 17:05 UTC resulted in a failed mount of a corrupted EBS volume, and we made the decision\nat that time to fail over the slave database.\n\n##### Resolution\nAt 17:12 UTC, the slave database had been successfully promoted to master and the application recovered enough to\naccept web traffic again. A new slave database node was created and placed into the rotation to guard against future\nmaster failures. The promoted slave database performed slowly for the next couple of hours as the query cache began\nto warm up, and eventually settled into a reasonable performance profile around 20:00 UTC.\n\n##### Future Mitigation Plans\nOver the past few months, we have been working on an overhaul to our data storage layer with a migration from a Postgres\nsetup to a distributed, fault-tolerant, multi-region data layer using Riak. This initiative has been prioritized, and\nthe migration will be performed in the coming weeks. We will notify our clients of the scheduled downtime via an\nincident on this status site, and via a blog post.\n",
- "postmortem_body_last_updated_at": "2024-11-19T04:40:12Z",
- "postmortem_ignored": true,
- "postmortem_notified_subscribers": true,
- "postmortem_notified_twitter": true,
- "postmortem_published_at": true,
- "resolved_at": "2024-11-19T04:40:12Z",
- "scheduled_auto_completed": true,
- "scheduled_auto_in_progress": true,
- "scheduled_for": "2013-05-07T03:00:00.007Z",
- "auto_transition_deliver_notifications_at_end": true,
- "auto_transition_deliver_notifications_at_start": true,
- "auto_transition_to_maintenance_state": true,
- "auto_transition_to_operational_state": true,
- "scheduled_remind_prior": true,
- "scheduled_reminded_at": "2024-11-19T04:40:12Z",
- "scheduled_until": "2013-05-07T06:00:00.007Z",
- "status": "scheduled",
- "updated_at": "2024-11-19T04:40:12Z",
- "reminder_intervals": "[3, 6, 12, 24]"
}
Get a list of incidents
page_id required | string Page identifier |
q | string If this is specified, search for the text query string in the incidents' name, status, postmortem_body, and incident_updates fields. |
limit | integer <int32> The maximum number of rows to return per page. The default and maximum limit is 100. |
page | integer <int32> Page offset to fetch. |
Get a list of incidents
Bad request
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/incidents \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
[- {
- "id": "p31zjtct2jer",
- "components": [
- {
- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
], - "created_at": "2024-11-19T04:40:12Z",
- "impact": "critical",
- "impact_override": "minor",
- "incident_updates": [
- {
- "id": "string",
- "incident_id": "string",
- "affected_components": [
- {
- "code": "string",
- "name": "string",
- "old_status": "operational",
- "new_status": "operational"
}
], - "body": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "custom_tweet": "string",
- "deliver_notifications": true,
- "display_at": "2024-11-19T04:40:12Z",
- "status": "investigating",
- "tweet_id": "string",
- "twitter_updated_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "wants_twitter_update": true
}
], - "metadata": {
- "jira": {
- "issue_id": "value"
}
}, - "monitoring_at": "2024-11-19T04:40:12Z",
- "name": "Data Layer Migration",
- "page_id": "string",
- "postmortem_body": "##### Issue\nAt approximately 17:02 UTC on 2013-04-21, our master database server unexpectedly went unresponsive to all network.\nA reboot of the machine at 17:05 UTC resulted in a failed mount of a corrupted EBS volume, and we made the decision\nat that time to fail over the slave database.\n\n##### Resolution\nAt 17:12 UTC, the slave database had been successfully promoted to master and the application recovered enough to\naccept web traffic again. A new slave database node was created and placed into the rotation to guard against future\nmaster failures. The promoted slave database performed slowly for the next couple of hours as the query cache began\nto warm up, and eventually settled into a reasonable performance profile around 20:00 UTC.\n\n##### Future Mitigation Plans\nOver the past few months, we have been working on an overhaul to our data storage layer with a migration from a Postgres\nsetup to a distributed, fault-tolerant, multi-region data layer using Riak. This initiative has been prioritized, and\nthe migration will be performed in the coming weeks. We will notify our clients of the scheduled downtime via an\nincident on this status site, and via a blog post.\n",
- "postmortem_body_last_updated_at": "2024-11-19T04:40:12Z",
- "postmortem_ignored": true,
- "postmortem_notified_subscribers": true,
- "postmortem_notified_twitter": true,
- "postmortem_published_at": true,
- "resolved_at": "2024-11-19T04:40:12Z",
- "scheduled_auto_completed": true,
- "scheduled_auto_in_progress": true,
- "scheduled_for": "2013-05-07T03:00:00.007Z",
- "auto_transition_deliver_notifications_at_end": true,
- "auto_transition_deliver_notifications_at_start": true,
- "auto_transition_to_maintenance_state": true,
- "auto_transition_to_operational_state": true,
- "scheduled_remind_prior": true,
- "scheduled_reminded_at": "2024-11-19T04:40:12Z",
- "scheduled_until": "2013-05-07T06:00:00.007Z",
- "status": "scheduled",
- "updated_at": "2024-11-19T04:40:12Z",
- "reminder_intervals": "[3, 6, 12, 24]"
}
]
Get a list of active maintenances
page_id required | string Page identifier |
page | integer <int32> Default: 1 Page offset to fetch. |
per_page | integer <int32> Default: 100 Number of results to return per page. |
Get a list of active maintenances
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/active_maintenance \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
[- {
- "id": "p31zjtct2jer",
- "components": [
- {
- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
], - "created_at": "2024-11-19T04:40:12Z",
- "impact": "critical",
- "impact_override": "minor",
- "incident_updates": [
- {
- "id": "string",
- "incident_id": "string",
- "affected_components": [
- {
- "code": "string",
- "name": "string",
- "old_status": "operational",
- "new_status": "operational"
}
], - "body": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "custom_tweet": "string",
- "deliver_notifications": true,
- "display_at": "2024-11-19T04:40:12Z",
- "status": "investigating",
- "tweet_id": "string",
- "twitter_updated_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "wants_twitter_update": true
}
], - "metadata": {
- "jira": {
- "issue_id": "value"
}
}, - "monitoring_at": "2024-11-19T04:40:12Z",
- "name": "Data Layer Migration",
- "page_id": "string",
- "postmortem_body": "##### Issue\nAt approximately 17:02 UTC on 2013-04-21, our master database server unexpectedly went unresponsive to all network.\nA reboot of the machine at 17:05 UTC resulted in a failed mount of a corrupted EBS volume, and we made the decision\nat that time to fail over the slave database.\n\n##### Resolution\nAt 17:12 UTC, the slave database had been successfully promoted to master and the application recovered enough to\naccept web traffic again. A new slave database node was created and placed into the rotation to guard against future\nmaster failures. The promoted slave database performed slowly for the next couple of hours as the query cache began\nto warm up, and eventually settled into a reasonable performance profile around 20:00 UTC.\n\n##### Future Mitigation Plans\nOver the past few months, we have been working on an overhaul to our data storage layer with a migration from a Postgres\nsetup to a distributed, fault-tolerant, multi-region data layer using Riak. This initiative has been prioritized, and\nthe migration will be performed in the coming weeks. We will notify our clients of the scheduled downtime via an\nincident on this status site, and via a blog post.\n",
- "postmortem_body_last_updated_at": "2024-11-19T04:40:12Z",
- "postmortem_ignored": true,
- "postmortem_notified_subscribers": true,
- "postmortem_notified_twitter": true,
- "postmortem_published_at": true,
- "resolved_at": "2024-11-19T04:40:12Z",
- "scheduled_auto_completed": true,
- "scheduled_auto_in_progress": true,
- "scheduled_for": "2013-05-07T03:00:00.007Z",
- "auto_transition_deliver_notifications_at_end": true,
- "auto_transition_deliver_notifications_at_start": true,
- "auto_transition_to_maintenance_state": true,
- "auto_transition_to_operational_state": true,
- "scheduled_remind_prior": true,
- "scheduled_reminded_at": "2024-11-19T04:40:12Z",
- "scheduled_until": "2013-05-07T06:00:00.007Z",
- "status": "scheduled",
- "updated_at": "2024-11-19T04:40:12Z",
- "reminder_intervals": "[3, 6, 12, 24]"
}
]
Get a list of upcoming incidents
page_id required | string Page identifier |
page | integer <int32> Default: 1 Page offset to fetch. |
per_page | integer <int32> Default: 100 Number of results to return per page. |
Get a list of upcoming incidents
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/upcoming \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
[- {
- "id": "p31zjtct2jer",
- "components": [
- {
- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
], - "created_at": "2024-11-19T04:40:12Z",
- "impact": "critical",
- "impact_override": "minor",
- "incident_updates": [
- {
- "id": "string",
- "incident_id": "string",
- "affected_components": [
- {
- "code": "string",
- "name": "string",
- "old_status": "operational",
- "new_status": "operational"
}
], - "body": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "custom_tweet": "string",
- "deliver_notifications": true,
- "display_at": "2024-11-19T04:40:12Z",
- "status": "investigating",
- "tweet_id": "string",
- "twitter_updated_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "wants_twitter_update": true
}
], - "metadata": {
- "jira": {
- "issue_id": "value"
}
}, - "monitoring_at": "2024-11-19T04:40:12Z",
- "name": "Data Layer Migration",
- "page_id": "string",
- "postmortem_body": "##### Issue\nAt approximately 17:02 UTC on 2013-04-21, our master database server unexpectedly went unresponsive to all network.\nA reboot of the machine at 17:05 UTC resulted in a failed mount of a corrupted EBS volume, and we made the decision\nat that time to fail over the slave database.\n\n##### Resolution\nAt 17:12 UTC, the slave database had been successfully promoted to master and the application recovered enough to\naccept web traffic again. A new slave database node was created and placed into the rotation to guard against future\nmaster failures. The promoted slave database performed slowly for the next couple of hours as the query cache began\nto warm up, and eventually settled into a reasonable performance profile around 20:00 UTC.\n\n##### Future Mitigation Plans\nOver the past few months, we have been working on an overhaul to our data storage layer with a migration from a Postgres\nsetup to a distributed, fault-tolerant, multi-region data layer using Riak. This initiative has been prioritized, and\nthe migration will be performed in the coming weeks. We will notify our clients of the scheduled downtime via an\nincident on this status site, and via a blog post.\n",
- "postmortem_body_last_updated_at": "2024-11-19T04:40:12Z",
- "postmortem_ignored": true,
- "postmortem_notified_subscribers": true,
- "postmortem_notified_twitter": true,
- "postmortem_published_at": true,
- "resolved_at": "2024-11-19T04:40:12Z",
- "scheduled_auto_completed": true,
- "scheduled_auto_in_progress": true,
- "scheduled_for": "2013-05-07T03:00:00.007Z",
- "auto_transition_deliver_notifications_at_end": true,
- "auto_transition_deliver_notifications_at_start": true,
- "auto_transition_to_maintenance_state": true,
- "auto_transition_to_operational_state": true,
- "scheduled_remind_prior": true,
- "scheduled_reminded_at": "2024-11-19T04:40:12Z",
- "scheduled_until": "2013-05-07T06:00:00.007Z",
- "status": "scheduled",
- "updated_at": "2024-11-19T04:40:12Z",
- "reminder_intervals": "[3, 6, 12, 24]"
}
]
Get a list of scheduled incidents
page_id required | string Page identifier |
page | integer <int32> Default: 1 Page offset to fetch. |
per_page | integer <int32> Default: 100 Number of results to return per page. |
Get a list of scheduled incidents
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/scheduled \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
[- {
- "id": "p31zjtct2jer",
- "components": [
- {
- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
], - "created_at": "2024-11-19T04:40:12Z",
- "impact": "critical",
- "impact_override": "minor",
- "incident_updates": [
- {
- "id": "string",
- "incident_id": "string",
- "affected_components": [
- {
- "code": "string",
- "name": "string",
- "old_status": "operational",
- "new_status": "operational"
}
], - "body": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "custom_tweet": "string",
- "deliver_notifications": true,
- "display_at": "2024-11-19T04:40:12Z",
- "status": "investigating",
- "tweet_id": "string",
- "twitter_updated_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "wants_twitter_update": true
}
], - "metadata": {
- "jira": {
- "issue_id": "value"
}
}, - "monitoring_at": "2024-11-19T04:40:12Z",
- "name": "Data Layer Migration",
- "page_id": "string",
- "postmortem_body": "##### Issue\nAt approximately 17:02 UTC on 2013-04-21, our master database server unexpectedly went unresponsive to all network.\nA reboot of the machine at 17:05 UTC resulted in a failed mount of a corrupted EBS volume, and we made the decision\nat that time to fail over the slave database.\n\n##### Resolution\nAt 17:12 UTC, the slave database had been successfully promoted to master and the application recovered enough to\naccept web traffic again. A new slave database node was created and placed into the rotation to guard against future\nmaster failures. The promoted slave database performed slowly for the next couple of hours as the query cache began\nto warm up, and eventually settled into a reasonable performance profile around 20:00 UTC.\n\n##### Future Mitigation Plans\nOver the past few months, we have been working on an overhaul to our data storage layer with a migration from a Postgres\nsetup to a distributed, fault-tolerant, multi-region data layer using Riak. This initiative has been prioritized, and\nthe migration will be performed in the coming weeks. We will notify our clients of the scheduled downtime via an\nincident on this status site, and via a blog post.\n",
- "postmortem_body_last_updated_at": "2024-11-19T04:40:12Z",
- "postmortem_ignored": true,
- "postmortem_notified_subscribers": true,
- "postmortem_notified_twitter": true,
- "postmortem_published_at": true,
- "resolved_at": "2024-11-19T04:40:12Z",
- "scheduled_auto_completed": true,
- "scheduled_auto_in_progress": true,
- "scheduled_for": "2013-05-07T03:00:00.007Z",
- "auto_transition_deliver_notifications_at_end": true,
- "auto_transition_deliver_notifications_at_start": true,
- "auto_transition_to_maintenance_state": true,
- "auto_transition_to_operational_state": true,
- "scheduled_remind_prior": true,
- "scheduled_reminded_at": "2024-11-19T04:40:12Z",
- "scheduled_until": "2013-05-07T06:00:00.007Z",
- "status": "scheduled",
- "updated_at": "2024-11-19T04:40:12Z",
- "reminder_intervals": "[3, 6, 12, 24]"
}
]
Get a list of unresolved incidents
page_id required | string Page identifier |
page | integer <int32> Default: 1 Page offset to fetch. |
per_page | integer <int32> Default: 100 Number of results to return per page. |
Get a list of unresolved incidents
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/unresolved \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
[- {
- "id": "p31zjtct2jer",
- "components": [
- {
- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
], - "created_at": "2024-11-19T04:40:12Z",
- "impact": "critical",
- "impact_override": "minor",
- "incident_updates": [
- {
- "id": "string",
- "incident_id": "string",
- "affected_components": [
- {
- "code": "string",
- "name": "string",
- "old_status": "operational",
- "new_status": "operational"
}
], - "body": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "custom_tweet": "string",
- "deliver_notifications": true,
- "display_at": "2024-11-19T04:40:12Z",
- "status": "investigating",
- "tweet_id": "string",
- "twitter_updated_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "wants_twitter_update": true
}
], - "metadata": {
- "jira": {
- "issue_id": "value"
}
}, - "monitoring_at": "2024-11-19T04:40:12Z",
- "name": "Data Layer Migration",
- "page_id": "string",
- "postmortem_body": "##### Issue\nAt approximately 17:02 UTC on 2013-04-21, our master database server unexpectedly went unresponsive to all network.\nA reboot of the machine at 17:05 UTC resulted in a failed mount of a corrupted EBS volume, and we made the decision\nat that time to fail over the slave database.\n\n##### Resolution\nAt 17:12 UTC, the slave database had been successfully promoted to master and the application recovered enough to\naccept web traffic again. A new slave database node was created and placed into the rotation to guard against future\nmaster failures. The promoted slave database performed slowly for the next couple of hours as the query cache began\nto warm up, and eventually settled into a reasonable performance profile around 20:00 UTC.\n\n##### Future Mitigation Plans\nOver the past few months, we have been working on an overhaul to our data storage layer with a migration from a Postgres\nsetup to a distributed, fault-tolerant, multi-region data layer using Riak. This initiative has been prioritized, and\nthe migration will be performed in the coming weeks. We will notify our clients of the scheduled downtime via an\nincident on this status site, and via a blog post.\n",
- "postmortem_body_last_updated_at": "2024-11-19T04:40:12Z",
- "postmortem_ignored": true,
- "postmortem_notified_subscribers": true,
- "postmortem_notified_twitter": true,
- "postmortem_published_at": true,
- "resolved_at": "2024-11-19T04:40:12Z",
- "scheduled_auto_completed": true,
- "scheduled_auto_in_progress": true,
- "scheduled_for": "2013-05-07T03:00:00.007Z",
- "auto_transition_deliver_notifications_at_end": true,
- "auto_transition_deliver_notifications_at_start": true,
- "auto_transition_to_maintenance_state": true,
- "auto_transition_to_operational_state": true,
- "scheduled_remind_prior": true,
- "scheduled_reminded_at": "2024-11-19T04:40:12Z",
- "scheduled_until": "2013-05-07T06:00:00.007Z",
- "status": "scheduled",
- "updated_at": "2024-11-19T04:40:12Z",
- "reminder_intervals": "[3, 6, 12, 24]"
}
]
Delete an incident
page_id required | string Page identifier |
incident_id required | string Incident Identifier |
Delete an incident
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X DELETE
{- "id": "p31zjtct2jer",
- "components": [
- {
- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
], - "created_at": "2024-11-19T04:40:12Z",
- "impact": "critical",
- "impact_override": "minor",
- "incident_updates": [
- {
- "id": "string",
- "incident_id": "string",
- "affected_components": [
- {
- "code": "string",
- "name": "string",
- "old_status": "operational",
- "new_status": "operational"
}
], - "body": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "custom_tweet": "string",
- "deliver_notifications": true,
- "display_at": "2024-11-19T04:40:12Z",
- "status": "investigating",
- "tweet_id": "string",
- "twitter_updated_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "wants_twitter_update": true
}
], - "metadata": {
- "jira": {
- "issue_id": "value"
}
}, - "monitoring_at": "2024-11-19T04:40:12Z",
- "name": "Data Layer Migration",
- "page_id": "string",
- "postmortem_body": "##### Issue\nAt approximately 17:02 UTC on 2013-04-21, our master database server unexpectedly went unresponsive to all network.\nA reboot of the machine at 17:05 UTC resulted in a failed mount of a corrupted EBS volume, and we made the decision\nat that time to fail over the slave database.\n\n##### Resolution\nAt 17:12 UTC, the slave database had been successfully promoted to master and the application recovered enough to\naccept web traffic again. A new slave database node was created and placed into the rotation to guard against future\nmaster failures. The promoted slave database performed slowly for the next couple of hours as the query cache began\nto warm up, and eventually settled into a reasonable performance profile around 20:00 UTC.\n\n##### Future Mitigation Plans\nOver the past few months, we have been working on an overhaul to our data storage layer with a migration from a Postgres\nsetup to a distributed, fault-tolerant, multi-region data layer using Riak. This initiative has been prioritized, and\nthe migration will be performed in the coming weeks. We will notify our clients of the scheduled downtime via an\nincident on this status site, and via a blog post.\n",
- "postmortem_body_last_updated_at": "2024-11-19T04:40:12Z",
- "postmortem_ignored": true,
- "postmortem_notified_subscribers": true,
- "postmortem_notified_twitter": true,
- "postmortem_published_at": true,
- "resolved_at": "2024-11-19T04:40:12Z",
- "scheduled_auto_completed": true,
- "scheduled_auto_in_progress": true,
- "scheduled_for": "2013-05-07T03:00:00.007Z",
- "auto_transition_deliver_notifications_at_end": true,
- "auto_transition_deliver_notifications_at_start": true,
- "auto_transition_to_maintenance_state": true,
- "auto_transition_to_operational_state": true,
- "scheduled_remind_prior": true,
- "scheduled_reminded_at": "2024-11-19T04:40:12Z",
- "scheduled_until": "2013-05-07T06:00:00.007Z",
- "status": "scheduled",
- "updated_at": "2024-11-19T04:40:12Z",
- "reminder_intervals": "[3, 6, 12, 24]"
}
Update an incident
page_id required | string Page identifier |
incident_id required | string Incident Identifier |
incident | object |
Update an incident
{- "incident": {
- "name": "string",
- "status": "investigating",
- "impact_override": "none",
- "scheduled_for": "2024-11-19T04:40:12Z",
- "scheduled_until": "2024-11-19T04:40:12Z",
- "scheduled_remind_prior": true,
- "auto_transition_to_maintenance_state": true,
- "auto_transition_to_operational_state": true,
- "scheduled_auto_in_progress": true,
- "scheduled_auto_completed": true,
- "auto_transition_deliver_notifications_at_start": true,
- "auto_transition_deliver_notifications_at_end": true,
- "reminder_intervals": "string",
- "metadata": { },
- "deliver_notifications": true,
- "auto_tweet_at_beginning": true,
- "auto_tweet_on_completion": true,
- "auto_tweet_on_creation": true,
- "auto_tweet_one_hour_before": true,
- "backfill_date": "string",
- "backfilled": true,
- "body": "string",
- "components": {
- "7jy26js5k7m9": "operational"
}, - "component_ids": [
- "jz6sxgdph4nk"
], - "scheduled_auto_transition": true
}
}
{- "id": "p31zjtct2jer",
- "components": [
- {
- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
], - "created_at": "2024-11-19T04:40:12Z",
- "impact": "critical",
- "impact_override": "minor",
- "incident_updates": [
- {
- "id": "string",
- "incident_id": "string",
- "affected_components": [
- {
- "code": "string",
- "name": "string",
- "old_status": "operational",
- "new_status": "operational"
}
], - "body": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "custom_tweet": "string",
- "deliver_notifications": true,
- "display_at": "2024-11-19T04:40:12Z",
- "status": "investigating",
- "tweet_id": "string",
- "twitter_updated_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "wants_twitter_update": true
}
], - "metadata": {
- "jira": {
- "issue_id": "value"
}
}, - "monitoring_at": "2024-11-19T04:40:12Z",
- "name": "Data Layer Migration",
- "page_id": "string",
- "postmortem_body": "##### Issue\nAt approximately 17:02 UTC on 2013-04-21, our master database server unexpectedly went unresponsive to all network.\nA reboot of the machine at 17:05 UTC resulted in a failed mount of a corrupted EBS volume, and we made the decision\nat that time to fail over the slave database.\n\n##### Resolution\nAt 17:12 UTC, the slave database had been successfully promoted to master and the application recovered enough to\naccept web traffic again. A new slave database node was created and placed into the rotation to guard against future\nmaster failures. The promoted slave database performed slowly for the next couple of hours as the query cache began\nto warm up, and eventually settled into a reasonable performance profile around 20:00 UTC.\n\n##### Future Mitigation Plans\nOver the past few months, we have been working on an overhaul to our data storage layer with a migration from a Postgres\nsetup to a distributed, fault-tolerant, multi-region data layer using Riak. This initiative has been prioritized, and\nthe migration will be performed in the coming weeks. We will notify our clients of the scheduled downtime via an\nincident on this status site, and via a blog post.\n",
- "postmortem_body_last_updated_at": "2024-11-19T04:40:12Z",
- "postmortem_ignored": true,
- "postmortem_notified_subscribers": true,
- "postmortem_notified_twitter": true,
- "postmortem_published_at": true,
- "resolved_at": "2024-11-19T04:40:12Z",
- "scheduled_auto_completed": true,
- "scheduled_auto_in_progress": true,
- "scheduled_for": "2013-05-07T03:00:00.007Z",
- "auto_transition_deliver_notifications_at_end": true,
- "auto_transition_deliver_notifications_at_start": true,
- "auto_transition_to_maintenance_state": true,
- "auto_transition_to_operational_state": true,
- "scheduled_remind_prior": true,
- "scheduled_reminded_at": "2024-11-19T04:40:12Z",
- "scheduled_until": "2013-05-07T06:00:00.007Z",
- "status": "scheduled",
- "updated_at": "2024-11-19T04:40:12Z",
- "reminder_intervals": "[3, 6, 12, 24]"
}
Update an incident
page_id required | string Page identifier |
incident_id required | string Incident Identifier |
incident | object |
Update an incident
{- "incident": {
- "name": "string",
- "status": "investigating",
- "impact_override": "none",
- "scheduled_for": "2024-11-19T04:40:12Z",
- "scheduled_until": "2024-11-19T04:40:12Z",
- "scheduled_remind_prior": true,
- "auto_transition_to_maintenance_state": true,
- "auto_transition_to_operational_state": true,
- "scheduled_auto_in_progress": true,
- "scheduled_auto_completed": true,
- "auto_transition_deliver_notifications_at_start": true,
- "auto_transition_deliver_notifications_at_end": true,
- "reminder_intervals": "string",
- "metadata": { },
- "deliver_notifications": true,
- "auto_tweet_at_beginning": true,
- "auto_tweet_on_completion": true,
- "auto_tweet_on_creation": true,
- "auto_tweet_one_hour_before": true,
- "backfill_date": "string",
- "backfilled": true,
- "body": "string",
- "components": {
- "7jy26js5k7m9": "operational"
}, - "component_ids": [
- "jz6sxgdph4nk"
], - "scheduled_auto_transition": true
}
}
{- "id": "p31zjtct2jer",
- "components": [
- {
- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
], - "created_at": "2024-11-19T04:40:12Z",
- "impact": "critical",
- "impact_override": "minor",
- "incident_updates": [
- {
- "id": "string",
- "incident_id": "string",
- "affected_components": [
- {
- "code": "string",
- "name": "string",
- "old_status": "operational",
- "new_status": "operational"
}
], - "body": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "custom_tweet": "string",
- "deliver_notifications": true,
- "display_at": "2024-11-19T04:40:12Z",
- "status": "investigating",
- "tweet_id": "string",
- "twitter_updated_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "wants_twitter_update": true
}
], - "metadata": {
- "jira": {
- "issue_id": "value"
}
}, - "monitoring_at": "2024-11-19T04:40:12Z",
- "name": "Data Layer Migration",
- "page_id": "string",
- "postmortem_body": "##### Issue\nAt approximately 17:02 UTC on 2013-04-21, our master database server unexpectedly went unresponsive to all network.\nA reboot of the machine at 17:05 UTC resulted in a failed mount of a corrupted EBS volume, and we made the decision\nat that time to fail over the slave database.\n\n##### Resolution\nAt 17:12 UTC, the slave database had been successfully promoted to master and the application recovered enough to\naccept web traffic again. A new slave database node was created and placed into the rotation to guard against future\nmaster failures. The promoted slave database performed slowly for the next couple of hours as the query cache began\nto warm up, and eventually settled into a reasonable performance profile around 20:00 UTC.\n\n##### Future Mitigation Plans\nOver the past few months, we have been working on an overhaul to our data storage layer with a migration from a Postgres\nsetup to a distributed, fault-tolerant, multi-region data layer using Riak. This initiative has been prioritized, and\nthe migration will be performed in the coming weeks. We will notify our clients of the scheduled downtime via an\nincident on this status site, and via a blog post.\n",
- "postmortem_body_last_updated_at": "2024-11-19T04:40:12Z",
- "postmortem_ignored": true,
- "postmortem_notified_subscribers": true,
- "postmortem_notified_twitter": true,
- "postmortem_published_at": true,
- "resolved_at": "2024-11-19T04:40:12Z",
- "scheduled_auto_completed": true,
- "scheduled_auto_in_progress": true,
- "scheduled_for": "2013-05-07T03:00:00.007Z",
- "auto_transition_deliver_notifications_at_end": true,
- "auto_transition_deliver_notifications_at_start": true,
- "auto_transition_to_maintenance_state": true,
- "auto_transition_to_operational_state": true,
- "scheduled_remind_prior": true,
- "scheduled_reminded_at": "2024-11-19T04:40:12Z",
- "scheduled_until": "2013-05-07T06:00:00.007Z",
- "status": "scheduled",
- "updated_at": "2024-11-19T04:40:12Z",
- "reminder_intervals": "[3, 6, 12, 24]"
}
Get an incident
page_id required | string Page identifier |
incident_id required | string Incident Identifier |
Get an incident
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
{- "id": "p31zjtct2jer",
- "components": [
- {
- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
], - "created_at": "2024-11-19T04:40:12Z",
- "impact": "critical",
- "impact_override": "minor",
- "incident_updates": [
- {
- "id": "string",
- "incident_id": "string",
- "affected_components": [
- {
- "code": "string",
- "name": "string",
- "old_status": "operational",
- "new_status": "operational"
}
], - "body": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "custom_tweet": "string",
- "deliver_notifications": true,
- "display_at": "2024-11-19T04:40:12Z",
- "status": "investigating",
- "tweet_id": "string",
- "twitter_updated_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "wants_twitter_update": true
}
], - "metadata": {
- "jira": {
- "issue_id": "value"
}
}, - "monitoring_at": "2024-11-19T04:40:12Z",
- "name": "Data Layer Migration",
- "page_id": "string",
- "postmortem_body": "##### Issue\nAt approximately 17:02 UTC on 2013-04-21, our master database server unexpectedly went unresponsive to all network.\nA reboot of the machine at 17:05 UTC resulted in a failed mount of a corrupted EBS volume, and we made the decision\nat that time to fail over the slave database.\n\n##### Resolution\nAt 17:12 UTC, the slave database had been successfully promoted to master and the application recovered enough to\naccept web traffic again. A new slave database node was created and placed into the rotation to guard against future\nmaster failures. The promoted slave database performed slowly for the next couple of hours as the query cache began\nto warm up, and eventually settled into a reasonable performance profile around 20:00 UTC.\n\n##### Future Mitigation Plans\nOver the past few months, we have been working on an overhaul to our data storage layer with a migration from a Postgres\nsetup to a distributed, fault-tolerant, multi-region data layer using Riak. This initiative has been prioritized, and\nthe migration will be performed in the coming weeks. We will notify our clients of the scheduled downtime via an\nincident on this status site, and via a blog post.\n",
- "postmortem_body_last_updated_at": "2024-11-19T04:40:12Z",
- "postmortem_ignored": true,
- "postmortem_notified_subscribers": true,
- "postmortem_notified_twitter": true,
- "postmortem_published_at": true,
- "resolved_at": "2024-11-19T04:40:12Z",
- "scheduled_auto_completed": true,
- "scheduled_auto_in_progress": true,
- "scheduled_for": "2013-05-07T03:00:00.007Z",
- "auto_transition_deliver_notifications_at_end": true,
- "auto_transition_deliver_notifications_at_start": true,
- "auto_transition_to_maintenance_state": true,
- "auto_transition_to_operational_state": true,
- "scheduled_remind_prior": true,
- "scheduled_reminded_at": "2024-11-19T04:40:12Z",
- "scheduled_until": "2013-05-07T06:00:00.007Z",
- "status": "scheduled",
- "updated_at": "2024-11-19T04:40:12Z",
- "reminder_intervals": "[3, 6, 12, 24]"
}
Update a previous incident update
page_id required | string Page identifier |
incident_id required | string Incident Identifier |
incident_update_id required | string Incident Update Identifier |
incident_update | object |
Update a previous incident update
{- "incident_update": {
- "wants_twitter_update": true,
- "body": "string",
- "display_at": "2024-11-19T04:40:12Z",
- "deliver_notifications": true
}
}
{- "id": "string",
- "incident_id": "string",
- "affected_components": [
- {
- "code": "string",
- "name": "string",
- "old_status": "operational",
- "new_status": "operational"
}
], - "body": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "custom_tweet": "string",
- "deliver_notifications": true,
- "display_at": "2024-11-19T04:40:12Z",
- "status": "investigating",
- "tweet_id": "string",
- "twitter_updated_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "wants_twitter_update": true
}
Update a previous incident update
page_id required | string Page identifier |
incident_id required | string Incident Identifier |
incident_update_id required | string Incident Update Identifier |
incident_update | object |
Update a previous incident update
{- "incident_update": {
- "wants_twitter_update": true,
- "body": "string",
- "display_at": "2024-11-19T04:40:12Z",
- "deliver_notifications": true
}
}
{- "id": "string",
- "incident_id": "string",
- "affected_components": [
- {
- "code": "string",
- "name": "string",
- "old_status": "operational",
- "new_status": "operational"
}
], - "body": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "custom_tweet": "string",
- "deliver_notifications": true,
- "display_at": "2024-11-19T04:40:12Z",
- "status": "investigating",
- "tweet_id": "string",
- "twitter_updated_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "wants_twitter_update": true
}
Create an incident subscriber
page_id required | string Page identifier |
incident_id required | string Incident Identifier |
subscriber | object |
Create an incident subscriber
Bad request
Could not authenticate
The requested resource could not be found.
{- "subscriber": {
- "email": "string",
- "phone_country": "string",
- "phone_number": "string",
- "skip_confirmation_notification": true
}
}
{- "id": "kjcmhryf4vt1",
- "skip_confirmation_notification": true,
- "mode": "email",
- "email": "foo@example2.com",
- "phone_number": "202-555-0105",
- "phone_country": "US",
- "display_phone_number": "+1 (202) 555-0105",
- "obfuscated_channel_name": "#*******an",
- "workspace_name": "Atlassian",
- "quarantined_at": "2024-11-19T04:40:12Z",
- "purge_at": "2024-11-19T04:40:12Z",
- "components": [
- "8012vm0pd0sr"
], - "page_access_user_id": "dyc22t3m3y49",
- "created_at": "2024-11-19T04:40:12Z"
}
Get a list of incident subscribers
page_id required | string Page identifier |
incident_id required | string Incident Identifier |
page | integer <int32> Page offset to fetch. Beginning February 28, 2023, this endpoint will return paginated data even if this query parameter is not provided. |
per_page | integer <int32> Number of results to return per page. Beginning February 28, 2023, a default and maximum limit of 100 will be imposed and this endpoint will return paginated data even if this query parameter is not provided. |
Get a list of incident subscribers
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/subscribers \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
[- {
- "id": "kjcmhryf4vt1",
- "skip_confirmation_notification": true,
- "mode": "email",
- "email": "foo@example2.com",
- "phone_number": "202-555-0105",
- "phone_country": "US",
- "display_phone_number": "+1 (202) 555-0105",
- "obfuscated_channel_name": "#*******an",
- "workspace_name": "Atlassian",
- "quarantined_at": "2024-11-19T04:40:12Z",
- "purge_at": "2024-11-19T04:40:12Z",
- "components": [
- "8012vm0pd0sr"
], - "page_access_user_id": "dyc22t3m3y49",
- "created_at": "2024-11-19T04:40:12Z"
}
]
Unsubscribe an incident subscriber
page_id required | string Page identifier |
incident_id required | string Incident Identifier |
subscriber_id required | string Subscriber Identifier |
Unsubscribe an incident subscriber
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/subscribers/{subscriber_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X DELETE
{- "id": "kjcmhryf4vt1",
- "skip_confirmation_notification": true,
- "mode": "email",
- "email": "foo@example2.com",
- "phone_number": "202-555-0105",
- "phone_country": "US",
- "display_phone_number": "+1 (202) 555-0105",
- "obfuscated_channel_name": "#*******an",
- "workspace_name": "Atlassian",
- "quarantined_at": "2024-11-19T04:40:12Z",
- "purge_at": "2024-11-19T04:40:12Z",
- "components": [
- "8012vm0pd0sr"
], - "page_access_user_id": "dyc22t3m3y49",
- "created_at": "2024-11-19T04:40:12Z"
}
Get an incident subscriber
page_id required | string Page identifier |
incident_id required | string Incident Identifier |
subscriber_id required | string Subscriber Identifier |
Get an incident subscriber
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/subscribers/{subscriber_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
{- "id": "kjcmhryf4vt1",
- "skip_confirmation_notification": true,
- "mode": "email",
- "email": "foo@example2.com",
- "phone_number": "202-555-0105",
- "phone_country": "US",
- "display_phone_number": "+1 (202) 555-0105",
- "obfuscated_channel_name": "#*******an",
- "workspace_name": "Atlassian",
- "quarantined_at": "2024-11-19T04:40:12Z",
- "purge_at": "2024-11-19T04:40:12Z",
- "components": [
- "8012vm0pd0sr"
], - "page_access_user_id": "dyc22t3m3y49",
- "created_at": "2024-11-19T04:40:12Z"
}
Resend confirmation to an incident subscriber
page_id required | string Page identifier |
incident_id required | string Incident Identifier |
subscriber_id required | string Subscriber Identifier |
Resend confirmation to an incident subscriber
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/subscribers/{subscriber_id}/resend_confirmation \ -H "Authorization: OAuth your-api-key-goes-here" \ -X POST
Postmortems are a great way to post information about an incident after it has passed. They generally contain detailed information about the events that caused the incident, mitigation steps to stop it from happening, and followup work that has and will occur to ensure similar incidents do not occur in the future. After Postmortems are authored they can be sent to customers via email notifications or Twitter, and will show on the incident details page.
Get Postmortem
page_id required | string Page identifier |
incident_id required | string Incident Identifier |
Get Postmortem
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/postmortem \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
{- "preview_key": "string",
- "body": "string",
- "body_updated_at": "2024-11-19T04:40:12Z",
- "body_draft": "string",
- "body_draft_updated_at": "2024-11-19T04:40:12Z",
- "published_at": "2024-11-19T04:40:12Z",
- "notify_subscribers": true,
- "notify_twitter": true,
- "custom_tweet": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Create Postmortem
page_id required | string Page identifier |
incident_id required | string Incident Identifier |
postmortem | object |
Create Postmortem
Bad request
Could not authenticate
{- "postmortem": {
- "body_draft": "string"
}
}
{- "preview_key": "string",
- "body": "string",
- "body_updated_at": "2024-11-19T04:40:12Z",
- "body_draft": "string",
- "body_draft_updated_at": "2024-11-19T04:40:12Z",
- "published_at": "2024-11-19T04:40:12Z",
- "notify_subscribers": true,
- "notify_twitter": true,
- "custom_tweet": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Delete Postmortem
page_id required | string Page identifier |
incident_id required | string Incident Identifier |
Delete Postmortem
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/postmortem \ -H "Authorization: OAuth your-api-key-goes-here" \ -X DELETE
{- "message": "string"
}
Publish Postmortem
page_id required | string Page identifier |
incident_id required | string Incident Identifier |
postmortem | object |
Publish Postmortem
Bad request
Could not authenticate
The requested resource could not be found.
{- "postmortem": {
- "notify_twitter": true,
- "notify_subscribers": true,
- "custom_tweet": "string"
}
}
{- "preview_key": "string",
- "body": "string",
- "body_updated_at": "2024-11-19T04:40:12Z",
- "body_draft": "string",
- "body_draft_updated_at": "2024-11-19T04:40:12Z",
- "published_at": "2024-11-19T04:40:12Z",
- "notify_subscribers": true,
- "notify_twitter": true,
- "custom_tweet": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Revert Postmortem
page_id required | string Page identifier |
incident_id required | string Incident Identifier |
Revert Postmortem
Bad request
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/postmortem/revert \ -H "Authorization: OAuth your-api-key-goes-here" \ -X PUT
{- "preview_key": "string",
- "body": "string",
- "body_updated_at": "2024-11-19T04:40:12Z",
- "body_draft": "string",
- "body_draft_updated_at": "2024-11-19T04:40:12Z",
- "published_at": "2024-11-19T04:40:12Z",
- "notify_subscribers": true,
- "notify_twitter": true,
- "custom_tweet": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Components are the individual pieces of infrastructure that are listed on your status page. This endpoint is used primarily to update status on individual components in the event of an outage or for degraded performance.
Create a component
page_id required | string Page identifier |
component | object |
Create a component
Could not authenticate
Unprocessable entity
{- "component": {
- "description": "string",
- "status": "operational",
- "name": "string",
- "only_show_if_degraded": true,
- "group_id": "string",
- "showcase": true,
- "start_date": "2024-11-19"
}
}
{- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
Get a list of components
page_id required | string Page identifier |
page | integer <int32> Page offset to fetch. Beginning February 28, 2023, this endpoint will return paginated data even if this query parameter is not provided. |
per_page | integer <int32> [ 1 .. 1100 ] Number of results to return per page. Beginning February 28, 2023, a default and maximum limit of 100 will be imposed and this endpoint will return paginated data even if this query parameter is not provided. |
Get a list of components
Could not authenticate
curl https://api.statuspage.io/v1/pages/{page_id}/components \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
[- {
- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
]
If group_id is "null" then the component will be removed from a group.
page_id required | string Page identifier |
component_id required | string Component identifier |
component | object |
Update a component
Could not authenticate
The requested resource could not be found.
Unprocessable entity
{- "component": {
- "description": "string",
- "status": "operational",
- "name": "string",
- "only_show_if_degraded": true,
- "group_id": "string",
- "showcase": true,
- "start_date": "2024-11-19"
}
}
{- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
If group_id is "null" then the component will be removed from a group.
page_id required | string Page identifier |
component_id required | string Component identifier |
component | object |
Update a component
Could not authenticate
The requested resource could not be found.
Unprocessable entity
{- "component": {
- "description": "string",
- "status": "operational",
- "name": "string",
- "only_show_if_degraded": true,
- "group_id": "string",
- "showcase": true,
- "start_date": "2024-11-19"
}
}
{- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
Delete a component
page_id required | string Page identifier |
component_id required | string Component identifier |
Delete a component
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/components/{component_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X DELETE
{- "message": "string"
}
Get a component
page_id required | string Page identifier |
component_id required | string Component identifier |
Get a component
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/components/{component_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
{- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
Get uptime data for a component that has uptime showcase enabled
page_id required | string Page identifier |
component_id required | string Component identifier |
start | PartialStartDate The start date for uptime calculation (defaults to the component's start_date field or 90 days ago, whichever is more recent). The maximum supported date range is six calendar months. If the year is given, the date defaults to the first day of the year. If the year and month are given, the start date defaults to the first day of that month. The earliest supported date is January 1, 1970. |
end | PartialEndDate The end date for uptime calculation (defaults to today in the page's time zone). The maximum supported date range is six calendar months. If the year is given, the date defaults to the last day of the year. If the year and month are given, the date defaults to the last day of that month. The earliest supported date is January 1, 1970. |
Get uptime data for a component that has uptime showcase enabled
Could not authenticate
The requested resource could not be found.
Unprocessable entity
{- "range_start": "2020-01-15",
- "range_end": "2020-02-15",
- "uptime_percentage": 96.67,
- "major_outage": 86400,
- "partial_outage": 0,
- "warnings": [
- "End date was adjusted to today. See range_end field in response for end date used."
], - "id": "string",
- "name": "string",
- "related_events": {
- "id": "string"
}
}
Remove page access users from component
page_id required | string Page identifier |
component_id required | string Component identifier |
Remove page access users from component
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/components/{component_id}/page_access_users \ -H "Authorization: OAuth your-api-key-goes-here" \ -X DELETE
{- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
Add page access users to a component
page_id required | string Page identifier |
component_id required | string Component identifier |
page_access_user_ids required | Array of strings List of page access users to add to component |
Add page access users to a component
Could not authenticate
The requested resource could not be found.
Unprocessable entity
curl https://api.statuspage.io/v1/pages/{page_id}/components/{component_id}/page_access_users \ -H "Authorization: OAuth your-api-key-goes-here" \ -X POST \ -d "page_access_user_ids[]=your-id"
{- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
Remove page access groups from a component
page_id required | string Page identifier |
component_id required | string Component identifier |
Remove page access groups from a component
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/components/{component_id}/page_access_groups \ -H "Authorization: OAuth your-api-key-goes-here" \ -X DELETE
{- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
Add page access groups to a component
page_id required | string Page identifier |
component_id required | string Component identifier |
Add page access groups to a component
Could not authenticate
The requested resource could not be found.
Unprocessable entity
curl https://api.statuspage.io/v1/pages/{page_id}/components/{component_id}/page_access_groups \ -H "Authorization: OAuth your-api-key-goes-here" \ -X POST \ -d "page_access_group_ids[]=your-id"
{- "id": "string",
- "page_id": "string",
- "group_id": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "group": true,
- "name": "string",
- "description": "string",
- "position": 0,
- "status": "operational",
- "showcase": true,
- "only_show_if_degraded": true,
- "automation_email": "string",
- "start_date": "2024-11-19"
}
Component groups provide a way to organize components. This endpoint can be used to list, create, update or delete component groups. When a group is deleted, its child components will be orphaned. Note: A group cannot be empty, so if all the child components are deleted, the group will be deleted automatically. Another implication of this is that components must be created before their groups, when a group is created it will require a list of component IDs.
Create a component group
page_id required | string Page identifier |
description | string Description of the component group. |
component_group | object |
Create a component group
Bad request
Could not authenticate
The requested resource could not be found.
Unprocessable entity
{- "description": "string",
- "component_group": {
- "components": [
- "string"
], - "name": "string"
}
}
{- "id": "rbwrtkncfj89",
- "page_id": "string",
- "name": "API Components",
- "description": "string",
- "components": [
- "abc123",
- "abc124"
], - "position": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Get a list of component groups
page_id required | string Page identifier |
page | integer <int32> Page offset to fetch. Beginning February 28, 2023, this endpoint will return paginated data even if this query parameter is not provided. |
per_page | integer <int32> Number of results to return per page. Beginning February 28, 2023, a default and maximum limit of 100 will be imposed and this endpoint will return paginated data even if this query parameter is not provided. |
Get a list of component groups
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/component-groups \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
[- {
- "id": "rbwrtkncfj89",
- "page_id": "string",
- "name": "API Components",
- "description": "string",
- "components": [
- "abc123",
- "abc124"
], - "position": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
]
Update a component group
page_id required | string Page identifier |
id required | string Component group identifier |
description | string Updated description of the component group. |
component_group | object |
Update a component group
Could not authenticate
The requested resource could not be found.
Unprocessable entity
{- "description": "string",
- "component_group": {
- "components": [
- "string"
], - "name": "string"
}
}
{- "id": "rbwrtkncfj89",
- "page_id": "string",
- "name": "API Components",
- "description": "string",
- "components": [
- "abc123",
- "abc124"
], - "position": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Update a component group
page_id required | string Page identifier |
id required | string Component group identifier |
description | string Updated description of the component group. |
component_group | object |
Update a component group
Could not authenticate
The requested resource could not be found.
Unprocessable entity
{- "description": "string",
- "component_group": {
- "components": [
- "string"
], - "name": "string"
}
}
{- "id": "rbwrtkncfj89",
- "page_id": "string",
- "name": "API Components",
- "description": "string",
- "components": [
- "abc123",
- "abc124"
], - "position": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Delete a component group
page_id required | string Page identifier |
id required | string Component group identifier |
Delete a component group
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/component-groups/{id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X DELETE
{- "id": "rbwrtkncfj89",
- "page_id": "string",
- "name": "API Components",
- "description": "string",
- "components": [
- "abc123",
- "abc124"
], - "position": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Get a component group
page_id required | string Page identifier |
id required | string Component group identifier |
Get a component group
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/component-groups/{id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
{- "id": "rbwrtkncfj89",
- "page_id": "string",
- "name": "API Components",
- "description": "string",
- "components": [
- "abc123",
- "abc124"
], - "position": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Get uptime data for a component group that has uptime showcase enabled for at least one component.
page_id required | string Page identifier |
id required | string Component group identifier |
start | PartialStartDate The start date for uptime calculation (defaults to the date of the component in the group with the earliest start_date, or 90 days ago, whichever is more recent). The maximum supported date range is six calendar months. If the year is given, the date defaults to the first day of the year. If the year and month are given, the start date defaults to the first day of that month. The earliest supported date is January 1, 1970. |
end | PartialEndDate The end date for uptime calculation (defaults to today in the page's time zone). The maximum supported date range is six calendar months. If the year is given, the date defaults to the last day of the year. If the year and month are given, the date defaults to the last day of that month. The earliest supported date is January 1, 1970. |
Get uptime data for a component group that has uptime showcase enabled for at least one component.
Could not authenticate
The requested resource could not be found.
Unprocessable entity
{- "range_start": "2020-01-15",
- "range_end": "2020-02-15",
- "uptime_percentage": 96.67,
- "major_outage": 86400,
- "partial_outage": 0,
- "warnings": [
- "End date was adjusted to today. See range_end field in response for end date used."
], - "id": "string",
- "name": "string",
- "related_events": {
- "component_id": "string",
- "incidents": {
- "id": "string"
}
}
}
System metrics are a great way to build trust and transparency around your organization, and ensure that your page is doing work for you each and every day. Submitting data for a custom metric is as easy as sending a POST request with the timestamp and value of the data point.
Take note that there are a couple constraints and considerations when submitting data:
At minimum, one data point must be submitted every 5 minutes. If there is a lag in data, the gap will be reflected on the charts for the "Day" view.
Each data point is cast to its nearest 30s interval, giving us a maximum of 10 data points per 5 minute period. Submitting multiple data points near each other will result in the last data point being the only one stored.
The timestamp value returned in the body of the response will be the casted timestamp used to store your data.
Data can, and should, be backfilled up to 28 days in the past.
Add data points to metrics
page_id required | string Page identifier |
data required | object (MetricAddResponse) Add data points to metrics |
Data Point is submitted and is currently being added to the metrics
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
Method not allowed.
{- "data": {
- "metric_id": [
- {
- "timestamp": 0,
- "value": 0
}
]
}
}
{- "6s01g43pvdxn": [
- {
- "timestamp": 1731991208,
- "value": 123.456
}
]
}
Get a list of metrics
page_id required | string Page identifier |
page | integer <int32> Page offset to fetch. Beginning February 28, 2023, this endpoint will return paginated data even if this query parameter is not provided. |
per_page | integer <int32> Number of results to return per page. Beginning February 28, 2023, a default and maximum limit of 100 will be imposed and this endpoint will return paginated data even if this query parameter is not provided. |
Get a list of metrics
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/metrics \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
{- "id": "string",
- "metrics_provider_id": "string",
- "metric_identifier": "string",
- "name": "string",
- "display": true,
- "tooltip_description": "string",
- "backfilled": true,
- "y_axis_min": 0,
- "y_axis_max": 0,
- "y_axis_hidden": true,
- "suffix": "string",
- "decimal_places": 0,
- "most_recent_data_at": "2024-11-19T04:40:12Z",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "last_fetched_at": "2024-11-19T04:40:12Z",
- "backfill_percentage": 0,
- "reference_name": "string"
}
Update a metric
page_id required | string Page identifier |
metric_id required | string Metric Identifier |
metric | object |
Update a metric
Could not authenticate
The requested resource could not be found.
Unprocessable entity
{- "metric": {
- "name": "string",
- "metric_identifier": "string"
}
}
{- "id": "string",
- "metrics_provider_id": "string",
- "metric_identifier": "string",
- "name": "string",
- "display": true,
- "tooltip_description": "string",
- "backfilled": true,
- "y_axis_min": 0,
- "y_axis_max": 0,
- "y_axis_hidden": true,
- "suffix": "string",
- "decimal_places": 0,
- "most_recent_data_at": "2024-11-19T04:40:12Z",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "last_fetched_at": "2024-11-19T04:40:12Z",
- "backfill_percentage": 0,
- "reference_name": "string"
}
Update a metric
page_id required | string Page identifier |
metric_id required | string Metric Identifier |
metric | object |
Update a metric
Could not authenticate
The requested resource could not be found.
Unprocessable entity
{- "metric": {
- "name": "string",
- "metric_identifier": "string"
}
}
{- "id": "string",
- "metrics_provider_id": "string",
- "metric_identifier": "string",
- "name": "string",
- "display": true,
- "tooltip_description": "string",
- "backfilled": true,
- "y_axis_min": 0,
- "y_axis_max": 0,
- "y_axis_hidden": true,
- "suffix": "string",
- "decimal_places": 0,
- "most_recent_data_at": "2024-11-19T04:40:12Z",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "last_fetched_at": "2024-11-19T04:40:12Z",
- "backfill_percentage": 0,
- "reference_name": "string"
}
Delete a metric
page_id required | string Page identifier |
metric_id required | string Metric Identifier |
Delete a metric
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/metrics/{metric_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X DELETE
{- "id": "string",
- "metrics_provider_id": "string",
- "metric_identifier": "string",
- "name": "string",
- "display": true,
- "tooltip_description": "string",
- "backfilled": true,
- "y_axis_min": 0,
- "y_axis_max": 0,
- "y_axis_hidden": true,
- "suffix": "string",
- "decimal_places": 0,
- "most_recent_data_at": "2024-11-19T04:40:12Z",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "last_fetched_at": "2024-11-19T04:40:12Z",
- "backfill_percentage": 0,
- "reference_name": "string"
}
Get a metric
page_id required | string Page identifier |
metric_id required | string Metric Identifier |
Get a metric
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/metrics/{metric_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
{- "id": "string",
- "metrics_provider_id": "string",
- "metric_identifier": "string",
- "name": "string",
- "display": true,
- "tooltip_description": "string",
- "backfilled": true,
- "y_axis_min": 0,
- "y_axis_max": 0,
- "y_axis_hidden": true,
- "suffix": "string",
- "decimal_places": 0,
- "most_recent_data_at": "2024-11-19T04:40:12Z",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "last_fetched_at": "2024-11-19T04:40:12Z",
- "backfill_percentage": 0,
- "reference_name": "string"
}
Reset data for a metric
page_id required | string Page identifier |
metric_id required | string Metric Identifier |
Reset data for a metric
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/metrics/{metric_id}/data \ -H "Authorization: OAuth your-api-key-goes-here" \ -X DELETE
{- "id": "string",
- "metrics_provider_id": "string",
- "metric_identifier": "string",
- "name": "string",
- "display": true,
- "tooltip_description": "string",
- "backfilled": true,
- "y_axis_min": 0,
- "y_axis_max": 0,
- "y_axis_hidden": true,
- "suffix": "string",
- "decimal_places": 0,
- "most_recent_data_at": "2024-11-19T04:40:12Z",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "last_fetched_at": "2024-11-19T04:40:12Z",
- "backfill_percentage": 0,
- "reference_name": "string"
}
Add data to a metric
page_id required | string Page identifier |
metric_id required | string Metric Identifier |
data required | object |
Add data to a metric
Could not authenticate
The requested resource could not be found.
Method not allowed.
Unprocessable entity
{- "data": {
- "timestamp": 0,
- "value": 0
}
}
{- "data": {
- "timestamp": 0,
- "value": 0
}
}
List metrics for a metric provider
page_id required | string Page identifier |
metrics_provider_id required | string Metric Provider Identifier |
page | integer <int32> Page offset to fetch. Beginning February 28, 2023, this endpoint will return paginated data even if this query parameter is not provided. |
per_page | integer <int32> Number of results to return per page. Beginning February 28, 2023, a default and maximum limit of 100 will be imposed and this endpoint will return paginated data even if this query parameter is not provided. |
List metrics for a metric provider
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/metrics_providers/{metrics_provider_id}/metrics \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
{- "id": "string",
- "metrics_provider_id": "string",
- "metric_identifier": "string",
- "name": "string",
- "display": true,
- "tooltip_description": "string",
- "backfilled": true,
- "y_axis_min": 0,
- "y_axis_max": 0,
- "y_axis_hidden": true,
- "suffix": "string",
- "decimal_places": 0,
- "most_recent_data_at": "2024-11-19T04:40:12Z",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "last_fetched_at": "2024-11-19T04:40:12Z",
- "backfill_percentage": 0,
- "reference_name": "string"
}
Create a metric for a metric provider
page_id required | string Page identifier |
metrics_provider_id required | string Metric Provider Identifier |
metric | object |
Create a metric for a metric provider
Bad request
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
Unprocessable entity
{- "metric": {
- "name": "string",
- "metric_identifier": "string",
- "transform": "string",
- "application_id": "string",
- "suffix": "string",
- "y_axis_min": 0,
- "y_axis_max": 0,
- "y_axis_hidden": true,
- "display": true,
- "decimal_places": 0,
- "tooltip_description": "string"
}
}
{- "id": "string",
- "metrics_provider_id": "string",
- "metric_identifier": "string",
- "name": "string",
- "display": true,
- "tooltip_description": "string",
- "backfilled": true,
- "y_axis_min": 0,
- "y_axis_max": 0,
- "y_axis_hidden": true,
- "suffix": "string",
- "decimal_places": 0,
- "most_recent_data_at": "2024-11-19T04:40:12Z",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "last_fetched_at": "2024-11-19T04:40:12Z",
- "backfill_percentage": 0,
- "reference_name": "string"
}
Get a list of metric providers
page_id required | string Page identifier |
Get a list of metric providers
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/metrics_providers \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
[- {
- "id": "string",
- "type": "string",
- "disabled": true,
- "metric_base_uri": "string",
- "last_revalidated_at": "2024-11-19T04:40:12Z",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "page_id": 0
}
]
Create a metric provider
page_id required | string Page identifier |
metrics_provider | object |
Create a metric provider
Bad request
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
Unprocessable entity
{- "metrics_provider": {
- "email": "string",
- "password": "string",
- "api_key": "string",
- "api_token": "string",
- "application_key": "string",
- "type": "string",
- "metric_base_uri": "string"
}
}
{- "id": "string",
- "type": "string",
- "disabled": true,
- "metric_base_uri": "string",
- "last_revalidated_at": "2024-11-19T04:40:12Z",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "page_id": 0
}
Get a metric provider
page_id required | string Page identifier |
metrics_provider_id required | string Metric Provider Identifier |
Get a metric provider
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/metrics_providers/{metrics_provider_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
{- "id": "string",
- "type": "string",
- "disabled": true,
- "metric_base_uri": "string",
- "last_revalidated_at": "2024-11-19T04:40:12Z",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "page_id": 0
}
Update a metric provider
page_id required | string Page identifier |
metrics_provider_id required | string Metric Provider Identifier |
metrics_provider | object |
Update a metric provider
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
{- "metrics_provider": {
- "type": "string",
- "metric_base_uri": "string"
}
}
{- "id": "string",
- "type": "string",
- "disabled": true,
- "metric_base_uri": "string",
- "last_revalidated_at": "2024-11-19T04:40:12Z",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "page_id": 0
}
Update a metric provider
page_id required | string Page identifier |
metrics_provider_id required | string Metric Provider Identifier |
metrics_provider | object |
Update a metric provider
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
{- "metrics_provider": {
- "type": "string",
- "metric_base_uri": "string"
}
}
{- "id": "string",
- "type": "string",
- "disabled": true,
- "metric_base_uri": "string",
- "last_revalidated_at": "2024-11-19T04:40:12Z",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "page_id": 0
}
Delete a metric provider
page_id required | string Page identifier |
metrics_provider_id required | string Metric Provider Identifier |
Delete a metric provider
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/metrics_providers/{metrics_provider_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X DELETE
{- "id": "string",
- "type": "string",
- "disabled": true,
- "metric_base_uri": "string",
- "last_revalidated_at": "2024-11-19T04:40:12Z",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "page_id": 0
}
List metrics for a metric provider
page_id required | string Page identifier |
metrics_provider_id required | string Metric Provider Identifier |
page | integer <int32> Page offset to fetch. Beginning February 28, 2023, this endpoint will return paginated data even if this query parameter is not provided. |
per_page | integer <int32> Number of results to return per page. Beginning February 28, 2023, a default and maximum limit of 100 will be imposed and this endpoint will return paginated data even if this query parameter is not provided. |
List metrics for a metric provider
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/pages/{page_id}/metrics_providers/{metrics_provider_id}/metrics \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
{- "id": "string",
- "metrics_provider_id": "string",
- "metric_identifier": "string",
- "name": "string",
- "display": true,
- "tooltip_description": "string",
- "backfilled": true,
- "y_axis_min": 0,
- "y_axis_max": 0,
- "y_axis_hidden": true,
- "suffix": "string",
- "decimal_places": 0,
- "most_recent_data_at": "2024-11-19T04:40:12Z",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "last_fetched_at": "2024-11-19T04:40:12Z",
- "backfill_percentage": 0,
- "reference_name": "string"
}
Create a metric for a metric provider
page_id required | string Page identifier |
metrics_provider_id required | string Metric Provider Identifier |
metric | object |
Create a metric for a metric provider
Bad request
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
Unprocessable entity
{- "metric": {
- "name": "string",
- "metric_identifier": "string",
- "transform": "string",
- "application_id": "string",
- "suffix": "string",
- "y_axis_min": 0,
- "y_axis_max": 0,
- "y_axis_hidden": true,
- "display": true,
- "decimal_places": 0,
- "tooltip_description": "string"
}
}
{- "id": "string",
- "metrics_provider_id": "string",
- "metric_identifier": "string",
- "name": "string",
- "display": true,
- "tooltip_description": "string",
- "backfilled": true,
- "y_axis_min": 0,
- "y_axis_max": 0,
- "y_axis_hidden": true,
- "suffix": "string",
- "decimal_places": 0,
- "most_recent_data_at": "2024-11-19T04:40:12Z",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z",
- "last_fetched_at": "2024-11-19T04:40:12Z",
- "backfill_percentage": 0,
- "reference_name": "string"
}
Users are owned by an organization, and have access to all pages and elements owned by
the pages under a given organization.
Important note
User management endpoints are not available for organizations using Atlassian accounts. These endpoints will be deprecated and will no longer work when all Statuspage accounts are migrated to Atlassian accounts.
Get a user's permissions
organization_id required | string Organization Identifier |
user_id required | string User identifier |
Get a user's permissions
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/organizations/{organization_id}/permissions/{user_id} \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
{- "user_id": "xkjqwf07j7kg",
- "pages": [
- {
- "page_id": "dlqpc4stl3t6",
- "page_configuration": false,
- "incident_manager": true,
- "maintenance_manager": true
}, - {
- "page_id": "ngdkgwfj7d15",
- "page_configuration": false,
- "incident_manager": true,
- "maintenance_manager": true
}
]
}
Delete a user
organization_id required | string Organization Identifier |
user_id required | string User Identifier |
Delete a user
Could not authenticate
You are not authorized to access this resource.
The requested resource could not be found.
curl https://api.statuspage.io/v1/organizations/{organization_id}/users \ -H "Authorization: OAuth your-api-key-goes-here" \ -X DELETE
{- "id": "string",
- "organization_id": "string",
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Create a user
organization_id required | string Organization Identifier |
user required | object |
Create a user
Could not authenticate
The requested resource could not be found.
Unprocessable entity
{- "user": {
- "email": "string",
- "password": "string",
- "first_name": "string",
- "last_name": "string"
}
}
{- "id": "string",
- "organization_id": "string",
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
Get a list of users
organization_id required | string Organization Identifier |
page | integer <int32> Page offset to fetch. Beginning February 28, 2023, this endpoint will return paginated data even if this query parameter is not provided. |
per_page | integer <int32> Number of results to return per page. Beginning February 28, 2023, a default and maximum limit of 100 will be imposed and this endpoint will return paginated data even if this query parameter is not provided. |
Get a list of users
Could not authenticate
The requested resource could not be found.
curl https://api.statuspage.io/v1/organizations/{organization_id}/users \ -H "Authorization: OAuth your-api-key-goes-here" \ -X GET
[- {
- "id": "string",
- "organization_id": "string",
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "created_at": "2024-11-19T04:40:12Z",
- "updated_at": "2024-11-19T04:40:12Z"
}
]