Statuspage API (1.0.0)

Download OpenAPI specification:Download

Code of Conduct

Please don't abuse the API, and please report all feature requests and issues to https://support.atlassian.com/contact

Rate Limiting

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.

Basics

HTTPS

It's required

URL Prefix

In order to maintain version integrity into the future, the API is versioned. All calls currently begin with the following prefix:

https://api.statuspage.io/v1/

RESTful Interface

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.

Sending Data

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

api_key

Obtaining your API Key

Authentication is done via an API token provided in the Statuspage management interface.

  1. Log in to your account at https://manage.statuspage.io/login.
  2. Click on your avatar in the bottom left of your screen to access the user menu.
  3. Click API info.

Passing your API key in an authorization header

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

Passing your API key in a query param

curl "https://api.statuspage.io/v1/pages/gytm4qzbx9t6.json?api_key=89a229ce1a8dbcf9ff30430fbe35eb4c0426574bca932061892cefd2138aa4b1"
Security Scheme Type API Key
Header parameter name: Authorization

permissions

Operations about permissions

Update a user's role permissions

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.

Authorizations:
path Parameters
organization_id
required
string

Organization Identifier

user_id
required
string

User identifier

Request Body schema: application/json
pages
object

Responses

200

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.

400

Bad request

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

put /organizations/{organization_id}/permissions/{user_id}
https://api.statuspage.io/v1/organizations/{organization_id}/permissions/{user_id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "pages":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "user_id": "d50hq13tjxst",
  • "pages":
    [
    ]
}

Get a user's permissions

Get a user's permissions

Authorizations:
path Parameters
organization_id
required
string

Organization Identifier

user_id
required
string

User identifier

Responses

200

Get a user's permissions

401

Could not authenticate

404

The requested resource could not be found.

get /organizations/{organization_id}/permissions/{user_id}
https://api.statuspage.io/v1/organizations/{organization_id}/permissions/{user_id}

Request samples

Copy
curl https://api.statuspage.io/v1/organizations/{organization_id}/permissions/{user_id} \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "user_id": "gphff82s2gbm",
  • "pages":
    [
    ]
}

Status Embed Config

Operations about status embed configs.

Get status embed config settings

Get status embed config settings

Authorizations:
path Parameters
page_id
required
string

Page identifier

Responses

200

Get status embed config settings

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

get /pages/{page_id}/status_embed_config
https://api.statuspage.io/v1/pages/{page_id}/status_embed_config

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/status_embed_config \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "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

Update status embed config settings

Authorizations:
path Parameters
page_id
required
string

Page identifier

Request Body schema: application/json
status_embed_config
object

Responses

200

Update status embed config settings

400

Bad request

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

422

Unprocessable entity

patch /pages/{page_id}/status_embed_config
https://api.statuspage.io/v1/pages/{page_id}/status_embed_config

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "status_embed_config":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "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

Update status embed config settings

Authorizations:
path Parameters
page_id
required
string

Page identifier

Request Body schema: application/json
status_embed_config
object

Responses

200

Update status embed config settings

400

Bad request

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

422

Unprocessable entity

put /pages/{page_id}/status_embed_config
https://api.statuspage.io/v1/pages/{page_id}/status_embed_config

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "status_embed_config":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "page_id": "string",
  • "position": "string",
  • "incident_background_color": "string",
  • "incident_text_color": "string",
  • "maintenance_background_color": "string",
  • "maintenance_text_color": "string"
}

Pages

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

Authorizations:

Responses

200

Get a list of pages

401

Could not authenticate

get /pages
https://api.statuspage.io/v1/pages

Request samples

Copy
curl https://api.statuspage.io/v1/pages \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Update a page

Update a page

Authorizations:
path Parameters
page_id
required
string

Page identifier

Request Body schema: application/json
page
object

Responses

200

Update a page

400

Bad request

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

422

Unprocessable entity

patch /pages/{page_id}
https://api.statuspage.io/v1/pages/{page_id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "page":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "ynwhnj21gw59",
  • "created_at": "2024-04-18T12:19:45Z",
  • "updated_at": "2024-04-18T12:19:45Z",
  • "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

Update a page

Authorizations:
path Parameters
page_id
required
string

Page identifier

Request Body schema: application/json
page
object

Responses

200

Update a page

400

Bad request

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

422

Unprocessable entity

put /pages/{page_id}
https://api.statuspage.io/v1/pages/{page_id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "page":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "ynwhnj21gw59",
  • "created_at": "2024-04-18T12:19:45Z",
  • "updated_at": "2024-04-18T12:19:45Z",
  • "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

Get a page

Authorizations:
path Parameters
page_id
required
string

Page identifier

Responses

200

Get a page

400

Bad request

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

get /pages/{page_id}
https://api.statuspage.io/v1/pages/{page_id}

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id} \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "ynwhnj21gw59",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "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

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

Add a page access user

Authorizations:
path Parameters
page_id
required
string

Page identifier

Request Body schema: application/json
page_access_user
object

Responses

200

Add a page access user

400

Bad request

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

409

The request could not be processed due to a conflict in resource state.

422

Unprocessable entity

post /pages/{page_id}/page_access_users
https://api.statuspage.io/v1/pages/{page_id}/page_access_users

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "page_access_user":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "s1hr8qrt2nd5",
  • "page_id": "string",
  • "email": "user@example.com",
  • "external_login": "string",
  • "page_access_group_id": "string",
  • "page_access_group_ids": [ ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Get a list of page access users

Get a list of page access users

Authorizations:
path Parameters
page_id
required
string

Page identifier

query Parameters
email
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.

Responses

200

Get a list of page access users

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

get /pages/{page_id}/page_access_users
https://api.statuspage.io/v1/pages/{page_id}/page_access_users

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/page_access_users \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Update page access user

Update page access user

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_user_id
required
string

Page Access User Identifier

Responses

200

Update page access user

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

patch /pages/{page_id}/page_access_users/{page_access_user_id}
https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id}

Request samples

Copy
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"

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "s1hr8qrt2nd5",
  • "page_id": "string",
  • "email": "user@example.com",
  • "external_login": "string",
  • "page_access_group_id": "string",
  • "page_access_group_ids": [ ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Update page access user

Update page access user

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_user_id
required
string

Page Access User Identifier

Responses

200

Update page access user

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

put /pages/{page_id}/page_access_users/{page_access_user_id}
https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id}

Request samples

Copy
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"

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "s1hr8qrt2nd5",
  • "page_id": "string",
  • "email": "user@example.com",
  • "external_login": "string",
  • "page_access_group_id": "string",
  • "page_access_group_ids": [ ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Delete page access user

Delete page access user

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_user_id
required
string

Page Access User Identifier

Responses

204

Delete page access user

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

delete /pages/{page_id}/page_access_users/{page_access_user_id}
https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id}

Request samples

Copy
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

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "message": "string"
}

Get page access user

Get page access user

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_user_id
required
string

Page Access User Identifier

Responses

200

Get page access user

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

get /pages/{page_id}/page_access_users/{page_access_user_id}
https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id}

Request samples

Copy
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

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "s1hr8qrt2nd5",
  • "page_id": "string",
  • "email": "user@example.com",
  • "external_login": "string",
  • "page_access_group_id": "string",
  • "page_access_group_ids": [ ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Page Access User Components

Add components for page access user

Add components for page access user

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_user_id
required
string

Page Access User Identifier

Request Body schema: application/json
component_ids
required
Array of strings

List of component codes to allow access to

Responses

200

Add components for page access user

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

patch /pages/{page_id}/page_access_users/{page_access_user_id}/components
https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id}/components

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "component_ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "s1hr8qrt2nd5",
  • "page_id": "string",
  • "email": "user@example.com",
  • "external_login": "string",
  • "page_access_group_id": "string",
  • "page_access_group_ids": [ ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Add components for page access user

Add components for page access user

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_user_id
required
string

Page Access User Identifier

Request Body schema: application/json
component_ids
required
Array of strings

List of component codes to allow access to

Responses

200

Add components for page access user

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

put /pages/{page_id}/page_access_users/{page_access_user_id}/components
https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id}/components

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "component_ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "s1hr8qrt2nd5",
  • "page_id": "string",
  • "email": "user@example.com",
  • "external_login": "string",
  • "page_access_group_id": "string",
  • "page_access_group_ids": [ ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Replace components for page access user

Replace components for page access user

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_user_id
required
string

Page Access User Identifier

Request Body schema: application/json
component_ids
required
Array of strings

List of component codes to allow access to

Responses

201

Replace components for page access user

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

post /pages/{page_id}/page_access_users/{page_access_user_id}/components
https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id}/components

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "component_ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "s1hr8qrt2nd5",
  • "page_id": "string",
  • "email": "user@example.com",
  • "external_login": "string",
  • "page_access_group_id": "string",
  • "page_access_group_ids": [ ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Remove components for page access user

Remove components for page access user

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_user_id
required
string

Page Access User Identifier

Request Body schema: application/json
component_ids
Array of strings

List of components codes to remove. If omitted, all components will be removed.

Responses

200

Remove components for page access user

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

delete /pages/{page_id}/page_access_users/{page_access_user_id}/components
https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id}/components

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "component_ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "s1hr8qrt2nd5",
  • "page_id": "string",
  • "email": "user@example.com",
  • "external_login": "string",
  • "page_access_group_id": "string",
  • "page_access_group_ids": [ ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Get components for page access user

Get components for page access user

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_user_id
required
string

Page Access User Identifier

query Parameters
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.

Responses

200

Get components for page access user

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

get /pages/{page_id}/page_access_users/{page_access_user_id}/components
https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id}/components

Request samples

Copy
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

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Remove component for page access user

Remove component for page access user

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_user_id
required
string

Page Access User Identifier

component_id
required
string

Component identifier

Responses

200

Remove component for page access user

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

delete /pages/{page_id}/page_access_users/{page_access_user_id}/components/{component_id}
https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id}/components/{component_id}

Request samples

Copy
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

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "s1hr8qrt2nd5",
  • "page_id": "string",
  • "email": "user@example.com",
  • "external_login": "string",
  • "page_access_group_id": "string",
  • "page_access_group_ids": [ ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Page Access User Metrics

Add metrics for page access user

Add metrics for page access user

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_user_id
required
string

Page Access User Identifier

Request Body schema: application/json
metric_ids
required
Array of strings

List of metrics to add

Responses

200

Add metrics for page access user

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

patch /pages/{page_id}/page_access_users/{page_access_user_id}/metrics
https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id}/metrics

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "metric_ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "s1hr8qrt2nd5",
  • "page_id": "string",
  • "email": "user@example.com",
  • "external_login": "string",
  • "page_access_group_id": "string",
  • "page_access_group_ids": [ ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Add metrics for page access user

Add metrics for page access user

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_user_id
required
string

Page Access User Identifier

Request Body schema: application/json
metric_ids
required
Array of strings

List of metrics to add

Responses

200

Add metrics for page access user

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

put /pages/{page_id}/page_access_users/{page_access_user_id}/metrics
https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id}/metrics

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "metric_ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "s1hr8qrt2nd5",
  • "page_id": "string",
  • "email": "user@example.com",
  • "external_login": "string",
  • "page_access_group_id": "string",
  • "page_access_group_ids": [ ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Replace metrics for page access user

Replace metrics for page access user

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_user_id
required
string

Page Access User Identifier

Request Body schema: application/json
metric_ids
required
Array of strings

List of metrics to add

Responses

201

Replace metrics for page access user

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

post /pages/{page_id}/page_access_users/{page_access_user_id}/metrics
https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id}/metrics

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "metric_ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "s1hr8qrt2nd5",
  • "page_id": "string",
  • "email": "user@example.com",
  • "external_login": "string",
  • "page_access_group_id": "string",
  • "page_access_group_ids": [ ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Delete metrics for page access user

Delete metrics for page access user

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_user_id
required
string

Page Access User Identifier

Request Body schema: application/json
metric_ids
Array of strings

List of metrics to remove

Responses

200

Delete metrics for page access user

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

delete /pages/{page_id}/page_access_users/{page_access_user_id}/metrics
https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id}/metrics

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "metric_ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "s1hr8qrt2nd5",
  • "page_id": "string",
  • "email": "user@example.com",
  • "external_login": "string",
  • "page_access_group_id": "string",
  • "page_access_group_ids": [ ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Get metrics for page access user

Get metrics for page access user

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_user_id
required
string

Page Access User Identifier

query Parameters
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.

Responses

200

Get metrics for page access user

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

get /pages/{page_id}/page_access_users/{page_access_user_id}/metrics
https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id}/metrics

Request samples

Copy
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

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Delete metric for page access user

Delete metric for page access user

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_user_id
required
string

Page Access User Identifier

metric_id
required
string

Identifier of metric requested

Responses

200

Delete metric for page access user

delete /pages/{page_id}/page_access_users/{page_access_user_id}/metrics/{metric_id}
https://api.statuspage.io/v1/pages/{page_id}/page_access_users/{page_access_user_id}/metrics/{metric_id}

Request samples

Copy
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

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "s1hr8qrt2nd5",
  • "page_id": "string",
  • "email": "user@example.com",
  • "external_login": "string",
  • "page_access_group_id": "string",
  • "page_access_group_ids": [ ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Page Access Groups

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

Get a list of page access groups

Authorizations:
path Parameters
page_id
required
string

Page identifier

query Parameters
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.

Responses

200

Get a list of page access groups

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

get /pages/{page_id}/page_access_groups
https://api.statuspage.io/v1/pages/{page_id}/page_access_groups

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/page_access_groups \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a page access group

Create a page access group

Authorizations:
path Parameters
page_id
required
string

Page identifier

Request Body schema: application/json
page_access_group
object

Responses

201

Create a page access group

400

Bad request

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

422

Unprocessable entity

post /pages/{page_id}/page_access_groups
https://api.statuspage.io/v1/pages/{page_id}/page_access_groups

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "page_access_group":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "3qrxl2lyg9fb",
  • "page_id": "string",
  • "name": "string",
  • "page_access_user_ids":
    [
    ],
  • "external_identifier": "string",
  • "metric_ids":
    [
    ],
  • "component_ids":
    [
    ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Get a page access group

Get a page access group

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_group_id
required
string

Page Access Group Identifier

Responses

200

Get a page access group

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

get /pages/{page_id}/page_access_groups/{page_access_group_id}
https://api.statuspage.io/v1/pages/{page_id}/page_access_groups/{page_access_group_id}

Request samples

Copy
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

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "3qrxl2lyg9fb",
  • "page_id": "string",
  • "name": "string",
  • "page_access_user_ids":
    [
    ],
  • "external_identifier": "string",
  • "metric_ids":
    [
    ],
  • "component_ids":
    [
    ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Update a page access group

Update a page access group

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_group_id
required
string

Page Access Group Identifier

Request Body schema: application/json
page_access_group
object

Responses

200

Update a page access group

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

patch /pages/{page_id}/page_access_groups/{page_access_group_id}
https://api.statuspage.io/v1/pages/{page_id}/page_access_groups/{page_access_group_id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "page_access_group":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "3qrxl2lyg9fb",
  • "page_id": "string",
  • "name": "string",
  • "page_access_user_ids":
    [
    ],
  • "external_identifier": "string",
  • "metric_ids":
    [
    ],
  • "component_ids":
    [
    ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Update a page access group

Update a page access group

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_group_id
required
string

Page Access Group Identifier

Request Body schema: application/json
page_access_group
object

Responses

200

Update a page access group

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

put /pages/{page_id}/page_access_groups/{page_access_group_id}
https://api.statuspage.io/v1/pages/{page_id}/page_access_groups/{page_access_group_id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "page_access_group":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "3qrxl2lyg9fb",
  • "page_id": "string",
  • "name": "string",
  • "page_access_user_ids":
    [
    ],
  • "external_identifier": "string",
  • "metric_ids":
    [
    ],
  • "component_ids":
    [
    ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Remove a page access group

Remove a page access group

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_group_id
required
string

Page Access Group Identifier

Responses

200

Remove a page access group

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

delete /pages/{page_id}/page_access_groups/{page_access_group_id}
https://api.statuspage.io/v1/pages/{page_id}/page_access_groups/{page_access_group_id}

Request samples

Copy
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

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "3qrxl2lyg9fb",
  • "page_id": "string",
  • "name": "string",
  • "page_access_user_ids":
    [
    ],
  • "external_identifier": "string",
  • "metric_ids":
    [
    ],
  • "component_ids":
    [
    ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Page Access Group Components

Add components to page access group

Add components to page access group

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_group_id
required
string

Page Access Group Identifier

Request Body schema: application/json
component_ids
Array of strings

List of Component identifiers

Responses

200

Add components to page access group

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

patch /pages/{page_id}/page_access_groups/{page_access_group_id}/components
https://api.statuspage.io/v1/pages/{page_id}/page_access_groups/{page_access_group_id}/components

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "component_ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "3qrxl2lyg9fb",
  • "page_id": "string",
  • "name": "string",
  • "page_access_user_ids":
    [
    ],
  • "external_identifier": "string",
  • "metric_ids":
    [
    ],
  • "component_ids":
    [
    ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Add components to page access group

Add components to page access group

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_group_id
required
string

Page Access Group Identifier

Request Body schema: application/json
component_ids
Array of strings

List of Component identifiers

Responses

200

Add components to page access group

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

put /pages/{page_id}/page_access_groups/{page_access_group_id}/components
https://api.statuspage.io/v1/pages/{page_id}/page_access_groups/{page_access_group_id}/components

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "component_ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "3qrxl2lyg9fb",
  • "page_id": "string",
  • "name": "string",
  • "page_access_user_ids":
    [
    ],
  • "external_identifier": "string",
  • "metric_ids":
    [
    ],
  • "component_ids":
    [
    ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Replace components for a page access group

Replace components for a page access group

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_group_id
required
string

Page Access Group Identifier

Request Body schema: application/json
component_ids
required
Array of strings

List of components codes to set on the page access group

Responses

201

Replace components for a page access group

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

post /pages/{page_id}/page_access_groups/{page_access_group_id}/components
https://api.statuspage.io/v1/pages/{page_id}/page_access_groups/{page_access_group_id}/components

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "component_ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "3qrxl2lyg9fb",
  • "page_id": "string",
  • "name": "string",
  • "page_access_user_ids":
    [
    ],
  • "external_identifier": "string",
  • "metric_ids":
    [
    ],
  • "component_ids":
    [
    ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Delete components for a page access group

Delete components for a page access group

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_group_id
required
string

Page Access Group Identifier

Request Body schema: application/json
component_ids
Array of strings

Responses

200

Delete components for a page access group

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

delete /pages/{page_id}/page_access_groups/{page_access_group_id}/components
https://api.statuspage.io/v1/pages/{page_id}/page_access_groups/{page_access_group_id}/components

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "component_ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "3qrxl2lyg9fb",
  • "page_id": "string",
  • "name": "string",
  • "page_access_user_ids":
    [
    ],
  • "external_identifier": "string",
  • "metric_ids":
    [
    ],
  • "component_ids":
    [
    ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

List components for a page access group

List components for a page access group

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_group_id
required
string

Page Access Group Identifier

query Parameters
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.

Responses

200

List components for a page access group

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

get /pages/{page_id}/page_access_groups/{page_access_group_id}/components
https://api.statuspage.io/v1/pages/{page_id}/page_access_groups/{page_access_group_id}/components

Request samples

Copy
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

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Remove a component from a page access group

Remove a component from a page access group

Authorizations:
path Parameters
page_id
required
string

Page identifier

page_access_group_id
required
string

Page Access Group Identifier

component_id
required
string

Component identifier

Responses

200

Remove a component from a page access group

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

delete /pages/{page_id}/page_access_groups/{page_access_group_id}/components/{component_id}
https://api.statuspage.io/v1/pages/{page_id}/page_access_groups/{page_access_group_id}/components/{component_id}

Request samples

Copy
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

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "3qrxl2lyg9fb",
  • "page_id": "string",
  • "name": "string",
  • "page_access_user_ids":
    [
    ],
  • "external_identifier": "string",
  • "metric_ids":
    [
    ],
  • "component_ids":
    [
    ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Subscribers

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:

  • a status page, where they get all updates to every incident automatically,
  • one or more components of a status page, where they get all updates to those components automatically, or
  • a specific incident, where they will only receive notifications for updates to that incident after they subscribed (not applicable for Slack subscribers).

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

Resend confirmations to a list of subscribers

Authorizations:
path Parameters
page_id
required
string

Page identifier

Request Body schema: application/json
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.

Responses

201

Resend confirmations to a list of subscribers

400

Bad request

401

Could not authenticate

404

The requested resource could not be found.

422

Unprocessable entity

post /pages/{page_id}/subscribers/resend_confirmation
https://api.statuspage.io/v1/pages/{page_id}/subscribers/resend_confirmation

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "subscribers": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "message": "string"
}

Unsubscribe a list of subscribers

Unsubscribe a list of subscribers

Authorizations:
path Parameters
page_id
required
string

Page identifier

Request Body schema: application/json
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.

Responses

201

Unsubscribe a list of subscribers

400

Bad request

401

Could not authenticate

404

The requested resource could not be found.

422

Unprocessable entity

post /pages/{page_id}/subscribers/unsubscribe
https://api.statuspage.io/v1/pages/{page_id}/subscribers/unsubscribe

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "subscribers": "string",
  • "type": "email",
  • "state": "active",
  • "skip_unsubscription_notification": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "message": "string"
}

Reactivate a list of subscribers

Reactivate a list of quarantined subscribers

Authorizations:
path Parameters
page_id
required
string

Page identifier

Request Body schema: application/json
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.

Responses

201

Reactivate a list of quarantined subscribers

400

Bad request

401

Could not authenticate

404

The requested resource could not be found.

422

Unprocessable entity

post /pages/{page_id}/subscribers/reactivate
https://api.statuspage.io/v1/pages/{page_id}/subscribers/reactivate

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "subscribers": "string",
  • "type": "email"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "message": "string"
}

Get a histogram of subscribers by type and then state

Get a histogram of subscribers by type and then state

Authorizations:
path Parameters
page_id
required
string

Page identifier

Responses

200

Get a histogram of subscribers by type and then state

401

Could not authenticate

404

The requested resource could not be found.

422

Unprocessable entity

get /pages/{page_id}/subscribers/histogram_by_state
https://api.statuspage.io/v1/pages/{page_id}/subscribers/histogram_by_state

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/subscribers/histogram_by_state \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "email":
    {
    },
  • "sms":
    {
    },
  • "webhook":
    {
    },
  • "integration_partner":
    {
    },
  • "slack":
    {
    },
  • "teams":
    {
    }
}

Get a count of subscribers by type

Get a count of subscribers by type

Authorizations:
path Parameters
page_id
required
string

Page identifier

query Parameters
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.

Responses

200

Get a count of subscribers by type

400

Bad request

401

Could not authenticate

404

The requested resource could not be found.

get /pages/{page_id}/subscribers/count
https://api.statuspage.io/v1/pages/{page_id}/subscribers/count

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/subscribers/count \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "email": 0,
  • "sms": 0,
  • "webhook": 0,
  • "integration_partner": 0,
  • "slack": 0,
  • "teams": 0
}

Get a list of unsubscribed subscribers

Get a list of unsubscribed subscribers

Authorizations:
path Parameters
page_id
required
string

Page identifier

query Parameters
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.

Responses

200

Get a list of unsubscribed subscribers

401

Could not authenticate

404

The requested resource could not be found.

get /pages/{page_id}/subscribers/unsubscribed
https://api.statuspage.io/v1/pages/{page_id}/subscribers/unsubscribed

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/subscribers/unsubscribed \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a subscriber

Create a subscriber. Not applicable for Slack subscribers.

Authorizations:
path Parameters
page_id
required
string

Page identifier

Request Body schema: application/json
subscriber
object

Responses

201

Create a subscriber. Not applicable for Slack subscribers.

400

Bad request

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

422

Unprocessable entity

post /pages/{page_id}/subscribers
https://api.statuspage.io/v1/pages/{page_id}/subscribers

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "subscriber":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "5qdnr56tt8xn",
  • "skip_confirmation_notification": true,
  • "mode": "email",
  • "email": "foo@example2.com",
  • "endpoint": "http://example.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-04-18T12:19:46Z",
  • "purge_at": "2024-04-18T12:19:46Z",
  • "components":
    [
    ],
  • "page_access_user_id": "1wgl3vlp68jm",
  • "created_at": "2024-04-18T12:19:46Z"
}

Get a list of subscribers

Get a list of subscribers

Authorizations:
path Parameters
page_id
required
string

Page identifier

query Parameters
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.

Responses

200

Get a list of subscribers

400

Bad request

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

422

Unprocessable entity

get /pages/{page_id}/subscribers
https://api.statuspage.io/v1/pages/{page_id}/subscribers

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/subscribers \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Resend confirmation to a subscriber

Resend confirmation to a subscriber

Authorizations:
path Parameters
page_id
required
string

Page identifier

subscriber_id
required
string

Subscriber Identifier

Responses

201

Resend confirmation to a subscriber

401

Could not authenticate

404

The requested resource could not be found.

post /pages/{page_id}/subscribers/{subscriber_id}/resend_confirmation
https://api.statuspage.io/v1/pages/{page_id}/subscribers/{subscriber_id}/resend_confirmation

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/subscribers/{subscriber_id}/resend_confirmation \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X POST

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "message": "string"
}

Unsubscribe a subscriber

Unsubscribe a subscriber

Authorizations:
path Parameters
page_id
required
string

Page identifier

subscriber_id
required
string

Subscriber Identifier

query Parameters
skip_unsubscription_notification
boolean

If skip_unsubscription_notification is true, the subscriber does not receive any notifications when they are unsubscribed.

Responses

200

Unsubscribe a subscriber

401

Could not authenticate

404

The requested resource could not be found.

delete /pages/{page_id}/subscribers/{subscriber_id}
https://api.statuspage.io/v1/pages/{page_id}/subscribers/{subscriber_id}

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/subscribers/{subscriber_id} \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X DELETE

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "5qdnr56tt8xn",
  • "skip_confirmation_notification": true,
  • "mode": "email",
  • "email": "foo@example2.com",
  • "endpoint": "http://example.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-04-18T12:19:46Z",
  • "purge_at": "2024-04-18T12:19:46Z",
  • "components":
    [
    ],
  • "page_access_user_id": "1wgl3vlp68jm",
  • "created_at": "2024-04-18T12:19:46Z"
}

Update a subscriber

Update a subscriber

Authorizations:
path Parameters
page_id
required
string

Page identifier

subscriber_id
required
string

Subscriber Identifier

Request Body schema: application/json
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.

Responses

200

Update a subscriber

401

Could not authenticate

404

The requested resource could not be found.

422

Unprocessable entity

patch /pages/{page_id}/subscribers/{subscriber_id}
https://api.statuspage.io/v1/pages/{page_id}/subscribers/{subscriber_id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "component_ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "5qdnr56tt8xn",
  • "skip_confirmation_notification": true,
  • "mode": "email",
  • "email": "foo@example2.com",
  • "endpoint": "http://example.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-04-18T12:19:46Z",
  • "purge_at": "2024-04-18T12:19:46Z",
  • "components":
    [
    ],
  • "page_access_user_id": "1wgl3vlp68jm",
  • "created_at": "2024-04-18T12:19:46Z"
}

Get a subscriber

Get a subscriber

Authorizations:
path Parameters
page_id
required
string

Page identifier

subscriber_id
required
string

Subscriber Identifier

Responses

200

Get a subscriber

401

Could not authenticate

404

The requested resource could not be found.

get /pages/{page_id}/subscribers/{subscriber_id}
https://api.statuspage.io/v1/pages/{page_id}/subscribers/{subscriber_id}

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/subscribers/{subscriber_id} \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "5qdnr56tt8xn",
  • "skip_confirmation_notification": true,
  • "mode": "email",
  • "email": "foo@example2.com",
  • "endpoint": "http://example.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-04-18T12:19:46Z",
  • "purge_at": "2024-04-18T12:19:46Z",
  • "components":
    [
    ],
  • "page_access_user_id": "1wgl3vlp68jm",
  • "created_at": "2024-04-18T12:19:46Z"
}

Templates

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

Create a template

Authorizations:
path Parameters
page_id
required
string

Page identifier

Request Body schema: application/json
template
object

Responses

201

Create a template

400

Bad request

401

Could not authenticate

404

The requested resource could not be found.

422

Unprocessable entity

post /pages/{page_id}/incident_templates
https://api.statuspage.io/v1/pages/{page_id}/incident_templates

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "template":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "8l6g1ps5q6mf",
  • "components":
    [
    ],
  • "name": "string",
  • "title": "string",
  • "body": "string",
  • "group_id": "4yqgm9q9w4sb",
  • "update_status": "investigating",
  • "should_tweet": true,
  • "should_send_notifications": true
}

Get a list of templates

Get a list of templates

Authorizations:
path Parameters
page_id
required
string

Page identifier

query Parameters
page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 100

Number of results to return per page.

Responses

200

Get a list of templates

401

Could not authenticate

get /pages/{page_id}/incident_templates
https://api.statuspage.io/v1/pages/{page_id}/incident_templates

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/incident_templates \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Incidents

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

Create an incident

Authorizations:
path Parameters
page_id
required
string

Page identifier

Request Body schema: application/json
incident
object

Responses

201

Create an incident

400

Bad request

401

Could not authenticate

404

The requested resource could not be found.

422

Unprocessable entity

post /pages/{page_id}/incidents
https://api.statuspage.io/v1/pages/{page_id}/incidents

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "incident":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "p31zjtct2jer",
  • "components":
    [
    ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "impact": "critical",
  • "impact_override": "minor",
  • "incident_updates":
    [
    ],
  • "metadata":
    {
    },
  • "monitoring_at": "2024-04-18T12:19:46Z",
  • "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-04-18T12:19:46Z",
  • "postmortem_ignored": true,
  • "postmortem_notified_subscribers": true,
  • "postmortem_notified_twitter": true,
  • "postmortem_published_at": true,
  • "resolved_at": "2024-04-18T12:19:46Z",
  • "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-04-18T12:19:46Z",
  • "scheduled_until": "2013-05-07T06:00:00.007Z",
  • "status": "scheduled",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "reminder_intervals": "[3, 6, 12, 24]"
}

Get a list of incidents

Get a list of incidents

Authorizations:
path Parameters
page_id
required
string

Page identifier

query Parameters
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.

Responses

200

Get a list of incidents

400

Bad request

401

Could not authenticate

404

The requested resource could not be found.

get /pages/{page_id}/incidents
https://api.statuspage.io/v1/pages/{page_id}/incidents

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/incidents \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get a list of active maintenances

Get a list of active maintenances

Authorizations:
path Parameters
page_id
required
string

Page identifier

query Parameters
page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 100

Number of results to return per page.

Responses

200

Get a list of active maintenances

401

Could not authenticate

404

The requested resource could not be found.

get /pages/{page_id}/incidents/active_maintenance
https://api.statuspage.io/v1/pages/{page_id}/incidents/active_maintenance

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/active_maintenance \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get a list of upcoming incidents

Get a list of upcoming incidents

Authorizations:
path Parameters
page_id
required
string

Page identifier

query Parameters
page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 100

Number of results to return per page.

Responses

200

Get a list of upcoming incidents

401

Could not authenticate

404

The requested resource could not be found.

get /pages/{page_id}/incidents/upcoming
https://api.statuspage.io/v1/pages/{page_id}/incidents/upcoming

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/upcoming \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get a list of scheduled incidents

Get a list of scheduled incidents

Authorizations:
path Parameters
page_id
required
string

Page identifier

query Parameters
page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 100

Number of results to return per page.

Responses

200

Get a list of scheduled incidents

401

Could not authenticate

404

The requested resource could not be found.

get /pages/{page_id}/incidents/scheduled
https://api.statuspage.io/v1/pages/{page_id}/incidents/scheduled

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/scheduled \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get a list of unresolved incidents

Get a list of unresolved incidents

Authorizations:
path Parameters
page_id
required
string

Page identifier

query Parameters
page
integer <int32>
Default: 1

Page offset to fetch.

per_page
integer <int32>
Default: 100

Number of results to return per page.

Responses

200

Get a list of unresolved incidents

401

Could not authenticate

404

The requested resource could not be found.

get /pages/{page_id}/incidents/unresolved
https://api.statuspage.io/v1/pages/{page_id}/incidents/unresolved

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/unresolved \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Delete an incident

Delete an incident

Authorizations:
path Parameters
page_id
required
string

Page identifier

incident_id
required
string

Incident Identifier

Responses

200

Delete an incident

delete /pages/{page_id}/incidents/{incident_id}
https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id} \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X DELETE

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "p31zjtct2jer",
  • "components":
    [
    ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "impact": "critical",
  • "impact_override": "minor",
  • "incident_updates":
    [
    ],
  • "metadata":
    {
    },
  • "monitoring_at": "2024-04-18T12:19:46Z",
  • "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-04-18T12:19:46Z",
  • "postmortem_ignored": true,
  • "postmortem_notified_subscribers": true,
  • "postmortem_notified_twitter": true,
  • "postmortem_published_at": true,
  • "resolved_at": "2024-04-18T12:19:46Z",
  • "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-04-18T12:19:46Z",
  • "scheduled_until": "2013-05-07T06:00:00.007Z",
  • "status": "scheduled",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "reminder_intervals": "[3, 6, 12, 24]"
}

Update an incident

Update an incident

Authorizations:
path Parameters
page_id
required
string

Page identifier

incident_id
required
string

Incident Identifier

Request Body schema: application/json
incident
object

Responses

200

Update an incident

patch /pages/{page_id}/incidents/{incident_id}
https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "incident":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "p31zjtct2jer",
  • "components":
    [
    ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "impact": "critical",
  • "impact_override": "minor",
  • "incident_updates":
    [
    ],
  • "metadata":
    {
    },
  • "monitoring_at": "2024-04-18T12:19:46Z",
  • "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-04-18T12:19:46Z",
  • "postmortem_ignored": true,
  • "postmortem_notified_subscribers": true,
  • "postmortem_notified_twitter": true,
  • "postmortem_published_at": true,
  • "resolved_at": "2024-04-18T12:19:46Z",
  • "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-04-18T12:19:46Z",
  • "scheduled_until": "2013-05-07T06:00:00.007Z",
  • "status": "scheduled",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "reminder_intervals": "[3, 6, 12, 24]"
}

Update an incident

Update an incident

Authorizations:
path Parameters
page_id
required
string

Page identifier

incident_id
required
string

Incident Identifier

Request Body schema: application/json
incident
object

Responses

200

Update an incident

put /pages/{page_id}/incidents/{incident_id}
https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "incident":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "p31zjtct2jer",
  • "components":
    [
    ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "impact": "critical",
  • "impact_override": "minor",
  • "incident_updates":
    [
    ],
  • "metadata":
    {
    },
  • "monitoring_at": "2024-04-18T12:19:46Z",
  • "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-04-18T12:19:46Z",
  • "postmortem_ignored": true,
  • "postmortem_notified_subscribers": true,
  • "postmortem_notified_twitter": true,
  • "postmortem_published_at": true,
  • "resolved_at": "2024-04-18T12:19:46Z",
  • "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-04-18T12:19:46Z",
  • "scheduled_until": "2013-05-07T06:00:00.007Z",
  • "status": "scheduled",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "reminder_intervals": "[3, 6, 12, 24]"
}

Get an incident

Get an incident

Authorizations:
path Parameters
page_id
required
string

Page identifier

incident_id
required
string

Incident Identifier

Responses

200

Get an incident

get /pages/{page_id}/incidents/{incident_id}
https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id} \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "p31zjtct2jer",
  • "components":
    [
    ],
  • "created_at": "2024-04-18T12:19:46Z",
  • "impact": "critical",
  • "impact_override": "minor",
  • "incident_updates":
    [
    ],
  • "metadata":
    {
    },
  • "monitoring_at": "2024-04-18T12:19:46Z",
  • "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-04-18T12:19:46Z",
  • "postmortem_ignored": true,
  • "postmortem_notified_subscribers": true,
  • "postmortem_notified_twitter": true,
  • "postmortem_published_at": true,
  • "resolved_at": "2024-04-18T12:19:46Z",
  • "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-04-18T12:19:46Z",
  • "scheduled_until": "2013-05-07T06:00:00.007Z",
  • "status": "scheduled",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "reminder_intervals": "[3, 6, 12, 24]"
}

Incident Updates

Update a previous incident update

Update a previous incident update

Authorizations:
path Parameters
page_id
required
string

Page identifier

incident_id
required
string

Incident Identifier

incident_update_id
required
string

Incident Update Identifier

Request Body schema: application/json
incident_update
object

Responses

200

Update a previous incident update

patch /pages/{page_id}/incidents/{incident_id}/incident_updates/{incident_update_id}
https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/incident_updates/{incident_update_id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "incident_update":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "incident_id": "string",
  • "affected_components":
    [
    ],
  • "body": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "custom_tweet": "string",
  • "deliver_notifications": true,
  • "display_at": "2024-04-18T12:19:46Z",
  • "status": "investigating",
  • "tweet_id": "string",
  • "twitter_updated_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "wants_twitter_update": true
}

Update a previous incident update

Update a previous incident update

Authorizations:
path Parameters
page_id
required
string

Page identifier

incident_id
required
string

Incident Identifier

incident_update_id
required
string

Incident Update Identifier

Request Body schema: application/json
incident_update
object

Responses

200

Update a previous incident update

put /pages/{page_id}/incidents/{incident_id}/incident_updates/{incident_update_id}
https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/incident_updates/{incident_update_id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "incident_update":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "incident_id": "string",
  • "affected_components":
    [
    ],
  • "body": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "custom_tweet": "string",
  • "deliver_notifications": true,
  • "display_at": "2024-04-18T12:19:46Z",
  • "status": "investigating",
  • "tweet_id": "string",
  • "twitter_updated_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "wants_twitter_update": true
}

Incident Subscribers

Create an incident subscriber

Create an incident subscriber

Authorizations:
path Parameters
page_id
required
string

Page identifier

incident_id
required
string

Incident Identifier

Request Body schema: application/json
subscriber
object

Responses

201

Create an incident subscriber

400

Bad request

401

Could not authenticate

404

The requested resource could not be found.

post /pages/{page_id}/incidents/{incident_id}/subscribers
https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/subscribers

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "subscriber":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "5qdnr56tt8xn",
  • "skip_confirmation_notification": true,
  • "mode": "email",
  • "email": "foo@example2.com",
  • "endpoint": "http://example.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-04-18T12:19:46Z",
  • "purge_at": "2024-04-18T12:19:46Z",
  • "components":
    [
    ],
  • "page_access_user_id": "1wgl3vlp68jm",
  • "created_at": "2024-04-18T12:19:46Z"
}

Get a list of incident subscribers

Get a list of incident subscribers

Authorizations:
path Parameters
page_id
required
string

Page identifier

incident_id
required
string

Incident Identifier

query Parameters
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.

Responses

200

Get a list of incident subscribers

401

Could not authenticate

404

The requested resource could not be found.

get /pages/{page_id}/incidents/{incident_id}/subscribers
https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/subscribers

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/subscribers \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Unsubscribe an incident subscriber

Unsubscribe an incident subscriber

Authorizations:
path Parameters
page_id
required
string

Page identifier

incident_id
required
string

Incident Identifier

subscriber_id
required
string

Subscriber Identifier

Responses

200

Unsubscribe an incident subscriber

delete /pages/{page_id}/incidents/{incident_id}/subscribers/{subscriber_id}
https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/subscribers/{subscriber_id}

Request samples

Copy
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

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "5qdnr56tt8xn",
  • "skip_confirmation_notification": true,
  • "mode": "email",
  • "email": "foo@example2.com",
  • "endpoint": "http://example.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-04-18T12:19:46Z",
  • "purge_at": "2024-04-18T12:19:46Z",
  • "components":
    [
    ],
  • "page_access_user_id": "1wgl3vlp68jm",
  • "created_at": "2024-04-18T12:19:46Z"
}

Get an incident subscriber

Get an incident subscriber

Authorizations:
path Parameters
page_id
required
string

Page identifier

incident_id
required
string

Incident Identifier

subscriber_id
required
string

Subscriber Identifier

Responses

200

Get an incident subscriber

get /pages/{page_id}/incidents/{incident_id}/subscribers/{subscriber_id}
https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/subscribers/{subscriber_id}

Request samples

Copy
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

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "5qdnr56tt8xn",
  • "skip_confirmation_notification": true,
  • "mode": "email",
  • "email": "foo@example2.com",
  • "endpoint": "http://example.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-04-18T12:19:46Z",
  • "purge_at": "2024-04-18T12:19:46Z",
  • "components":
    [
    ],
  • "page_access_user_id": "1wgl3vlp68jm",
  • "created_at": "2024-04-18T12:19:46Z"
}

Resend confirmation to an incident subscriber

Resend confirmation to an incident subscriber

Authorizations:
path Parameters
page_id
required
string

Page identifier

incident_id
required
string

Incident Identifier

subscriber_id
required
string

Subscriber Identifier

Responses

201

Resend confirmation to an incident subscriber

post /pages/{page_id}/incidents/{incident_id}/subscribers/{subscriber_id}/resend_confirmation
https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/subscribers/{subscriber_id}/resend_confirmation

Request samples

Copy
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

Incident Postmortem

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

Get Postmortem

Authorizations:
path Parameters
page_id
required
string

Page identifier

incident_id
required
string

Incident Identifier

Responses

200

Get Postmortem

401

Could not authenticate

404

The requested resource could not be found.

get /pages/{page_id}/incidents/{incident_id}/postmortem
https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/postmortem

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/postmortem \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "preview_key": "string",
  • "body": "string",
  • "body_updated_at": "2024-04-18T12:19:46Z",
  • "body_draft": "string",
  • "body_draft_updated_at": "2024-04-18T12:19:46Z",
  • "published_at": "2024-04-18T12:19:46Z",
  • "notify_subscribers": true,
  • "notify_twitter": true,
  • "custom_tweet": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Create Postmortem

Create Postmortem

Authorizations:
path Parameters
page_id
required
string

Page identifier

incident_id
required
string

Incident Identifier

Request Body schema: application/json
postmortem
object

Responses

200

Create Postmortem

400

Bad request

401

Could not authenticate

put /pages/{page_id}/incidents/{incident_id}/postmortem
https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/postmortem

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "postmortem":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "preview_key": "string",
  • "body": "string",
  • "body_updated_at": "2024-04-18T12:19:46Z",
  • "body_draft": "string",
  • "body_draft_updated_at": "2024-04-18T12:19:46Z",
  • "published_at": "2024-04-18T12:19:46Z",
  • "notify_subscribers": true,
  • "notify_twitter": true,
  • "custom_tweet": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Delete Postmortem

Delete Postmortem

Authorizations:
path Parameters
page_id
required
string

Page identifier

incident_id
required
string

Incident Identifier

Responses

204

Delete Postmortem

401

Could not authenticate

404

The requested resource could not be found.

delete /pages/{page_id}/incidents/{incident_id}/postmortem
https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/postmortem

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/postmortem \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X DELETE

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "message": "string"
}

Publish Postmortem

Publish Postmortem

Authorizations:
path Parameters
page_id
required
string

Page identifier

incident_id
required
string

Incident Identifier

Request Body schema: application/json
postmortem
object

Responses

200

Publish Postmortem

400

Bad request

401

Could not authenticate

404

The requested resource could not be found.

put /pages/{page_id}/incidents/{incident_id}/postmortem/publish
https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/postmortem/publish

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "postmortem":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "preview_key": "string",
  • "body": "string",
  • "body_updated_at": "2024-04-18T12:19:46Z",
  • "body_draft": "string",
  • "body_draft_updated_at": "2024-04-18T12:19:46Z",
  • "published_at": "2024-04-18T12:19:46Z",
  • "notify_subscribers": true,
  • "notify_twitter": true,
  • "custom_tweet": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Revert Postmortem

Revert Postmortem

Authorizations:
path Parameters
page_id
required
string

Page identifier

incident_id
required
string

Incident Identifier

Responses

200

Revert Postmortem

400

Bad request

401

Could not authenticate

404

The requested resource could not be found.

put /pages/{page_id}/incidents/{incident_id}/postmortem/revert
https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/postmortem/revert

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/incidents/{incident_id}/postmortem/revert \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X PUT

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "preview_key": "string",
  • "body": "string",
  • "body_updated_at": "2024-04-18T12:19:46Z",
  • "body_draft": "string",
  • "body_draft_updated_at": "2024-04-18T12:19:46Z",
  • "published_at": "2024-04-18T12:19:46Z",
  • "notify_subscribers": true,
  • "notify_twitter": true,
  • "custom_tweet": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Components

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

Create a component

Authorizations:
path Parameters
page_id
required
string

Page identifier

Request Body schema: application/json
component
object

Responses

201

Create a component

401

Could not authenticate

422

Unprocessable entity

post /pages/{page_id}/components
https://api.statuspage.io/v1/pages/{page_id}/components

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "component":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "page_id": "string",
  • "group_id": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "group": true,
  • "name": "string",
  • "description": "string",
  • "position": 0,
  • "status": "operational",
  • "showcase": true,
  • "only_show_if_degraded": true,
  • "automation_email": "string",
  • "start_date": "2024-04-18"
}

Get a list of components

Get a list of components

Authorizations:
path Parameters
page_id
required
string

Page identifier

query Parameters
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.

Responses

200

Get a list of components

401

Could not authenticate

get /pages/{page_id}/components
https://api.statuspage.io/v1/pages/{page_id}/components

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/components \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Update a component

If group_id is "null" then the component will be removed from a group.

Authorizations:
path Parameters
page_id
required
string

Page identifier

component_id
required
string

Component identifier

Request Body schema: application/json
component
object

Responses

200

Update a component

401

Could not authenticate

404

The requested resource could not be found.

422

Unprocessable entity

patch /pages/{page_id}/components/{component_id}
https://api.statuspage.io/v1/pages/{page_id}/components/{component_id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "component":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "page_id": "string",
  • "group_id": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "group": true,
  • "name": "string",
  • "description": "string",
  • "position": 0,
  • "status": "operational",
  • "showcase": true,
  • "only_show_if_degraded": true,
  • "automation_email": "string",
  • "start_date": "2024-04-18"
}

Update a component

If group_id is "null" then the component will be removed from a group.

Authorizations:
path Parameters
page_id
required
string

Page identifier

component_id
required
string

Component identifier

Request Body schema: application/json
component
object

Responses

200

Update a component

401

Could not authenticate

404

The requested resource could not be found.

422

Unprocessable entity

put /pages/{page_id}/components/{component_id}
https://api.statuspage.io/v1/pages/{page_id}/components/{component_id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "component":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "page_id": "string",
  • "group_id": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "group": true,
  • "name": "string",
  • "description": "string",
  • "position": 0,
  • "status": "operational",
  • "showcase": true,
  • "only_show_if_degraded": true,
  • "automation_email": "string",
  • "start_date": "2024-04-18"
}

Delete a component

Delete a component

Authorizations:
path Parameters
page_id
required
string

Page identifier

component_id
required
string

Component identifier

Responses

204

Delete a component

401

Could not authenticate

404

The requested resource could not be found.

delete /pages/{page_id}/components/{component_id}
https://api.statuspage.io/v1/pages/{page_id}/components/{component_id}

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/components/{component_id} \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X DELETE

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "message": "string"
}

Get a component

Get a component

Authorizations:
path Parameters
page_id
required
string

Page identifier

component_id
required
string

Component identifier

Responses

200

Get a component

401

Could not authenticate

404

The requested resource could not be found.

get /pages/{page_id}/components/{component_id}
https://api.statuspage.io/v1/pages/{page_id}/components/{component_id}

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/components/{component_id} \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "page_id": "string",
  • "group_id": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "group": true,
  • "name": "string",
  • "description": "string",
  • "position": 0,
  • "status": "operational",
  • "showcase": true,
  • "only_show_if_degraded": true,
  • "automation_email": "string",
  • "start_date": "2024-04-18"
}

Get uptime data for a component

Get uptime data for a component that has uptime showcase enabled

Authorizations:
path Parameters
page_id
required
string

Page identifier

component_id
required
string

Component identifier

query Parameters
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.

Responses

200

Get uptime data for a component that has uptime showcase enabled

401

Could not authenticate

404

The requested resource could not be found.

422

Unprocessable entity

get /pages/{page_id}/components/{component_id}/uptime
https://api.statuspage.io/v1/pages/{page_id}/components/{component_id}/uptime

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "range_start": "2020-01-15",
  • "range_end": "2020-02-15",
  • "uptime_percentage": 96.67,
  • "major_outage": 86400,
  • "partial_outage": 0,
  • "warnings":
    [
    ],
  • "id": "string",
  • "name": "string",
  • "related_events":
    {
    }
}

Remove page access users from component

Remove page access users from component

Authorizations:
path Parameters
page_id
required
string

Page identifier

component_id
required
string

Component identifier

Responses

200

Remove page access users from component

401

Could not authenticate

404

The requested resource could not be found.

delete /pages/{page_id}/components/{component_id}/page_access_users
https://api.statuspage.io/v1/pages/{page_id}/components/{component_id}/page_access_users

Request samples

Copy
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

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "page_id": "string",
  • "group_id": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "group": true,
  • "name": "string",
  • "description": "string",
  • "position": 0,
  • "status": "operational",
  • "showcase": true,
  • "only_show_if_degraded": true,
  • "automation_email": "string",
  • "start_date": "2024-04-18"
}

Add page access users to a component

Add page access users to a component

Authorizations:
path Parameters
page_id
required
string

Page identifier

component_id
required
string

Component identifier

Request Body schema: application/x-www-form-urlencoded
page_access_user_ids
required
Array of strings

List of page access users to add to component

Responses

201

Add page access users to a component

401

Could not authenticate

404

The requested resource could not be found.

422

Unprocessable entity

post /pages/{page_id}/components/{component_id}/page_access_users
https://api.statuspage.io/v1/pages/{page_id}/components/{component_id}/page_access_users

Request samples

Copy
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"

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "page_id": "string",
  • "group_id": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "group": true,
  • "name": "string",
  • "description": "string",
  • "position": 0,
  • "status": "operational",
  • "showcase": true,
  • "only_show_if_degraded": true,
  • "automation_email": "string",
  • "start_date": "2024-04-18"
}

Remove page access groups from a component

Remove page access groups from a component

Authorizations:
path Parameters
page_id
required
string

Page identifier

component_id
required
string

Component identifier

Responses

200

Remove page access groups from a component

401

Could not authenticate

404

The requested resource could not be found.

delete /pages/{page_id}/components/{component_id}/page_access_groups
https://api.statuspage.io/v1/pages/{page_id}/components/{component_id}/page_access_groups

Request samples

Copy
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

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "page_id": "string",
  • "group_id": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "group": true,
  • "name": "string",
  • "description": "string",
  • "position": 0,
  • "status": "operational",
  • "showcase": true,
  • "only_show_if_degraded": true,
  • "automation_email": "string",
  • "start_date": "2024-04-18"
}

Add page access groups to a component

Add page access groups to a component

Authorizations:
path Parameters
page_id
required
string

Page identifier

component_id
required
string

Component identifier

Responses

201

Add page access groups to a component

401

Could not authenticate

404

The requested resource could not be found.

422

Unprocessable entity

post /pages/{page_id}/components/{component_id}/page_access_groups
https://api.statuspage.io/v1/pages/{page_id}/components/{component_id}/page_access_groups

Request samples

Copy
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"

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "page_id": "string",
  • "group_id": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "group": true,
  • "name": "string",
  • "description": "string",
  • "position": 0,
  • "status": "operational",
  • "showcase": true,
  • "only_show_if_degraded": true,
  • "automation_email": "string",
  • "start_date": "2024-04-18"
}

Component Groups

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

Create a component group

Authorizations:
path Parameters
page_id
required
string

Page identifier

Request Body schema: application/json
description
string

Description of the component group.

component_group
object

Responses

201

Create a component group

400

Bad request

401

Could not authenticate

404

The requested resource could not be found.

422

Unprocessable entity

post /pages/{page_id}/component-groups
https://api.statuspage.io/v1/pages/{page_id}/component-groups

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "string",
  • "component_group":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "cgjbsx0s0sk8",
  • "page_id": "string",
  • "name": "API Components",
  • "description": "string",
  • "components":
    [
    ],
  • "position": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Get a list of component groups

Get a list of component groups

Authorizations:
path Parameters
page_id
required
string

Page identifier

query Parameters
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.

Responses

200

Get a list of component groups

401

Could not authenticate

404

The requested resource could not be found.

get /pages/{page_id}/component-groups
https://api.statuspage.io/v1/pages/{page_id}/component-groups

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/component-groups \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Update a component group

Update a component group

Authorizations:
path Parameters
page_id
required
string

Page identifier

id
required
string

Component group identifier

Request Body schema: application/json
description
string

Updated description of the component group.

component_group
object

Responses

200

Update a component group

401

Could not authenticate

404

The requested resource could not be found.

422

Unprocessable entity

patch /pages/{page_id}/component-groups/{id}
https://api.statuspage.io/v1/pages/{page_id}/component-groups/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "string",
  • "component_group":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "cgjbsx0s0sk8",
  • "page_id": "string",
  • "name": "API Components",
  • "description": "string",
  • "components":
    [
    ],
  • "position": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Update a component group

Update a component group

Authorizations:
path Parameters
page_id
required
string

Page identifier

id
required
string

Component group identifier

Request Body schema: application/json
description
string

Updated description of the component group.

component_group
object

Responses

200

Update a component group

401

Could not authenticate

404

The requested resource could not be found.

422

Unprocessable entity

put /pages/{page_id}/component-groups/{id}
https://api.statuspage.io/v1/pages/{page_id}/component-groups/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "string",
  • "component_group":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "cgjbsx0s0sk8",
  • "page_id": "string",
  • "name": "API Components",
  • "description": "string",
  • "components":
    [
    ],
  • "position": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Delete a component group

Delete a component group

Authorizations:
path Parameters
page_id
required
string

Page identifier

id
required
string

Component group identifier

Responses

200

Delete a component group

401

Could not authenticate

404

The requested resource could not be found.

delete /pages/{page_id}/component-groups/{id}
https://api.statuspage.io/v1/pages/{page_id}/component-groups/{id}

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/component-groups/{id} \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X DELETE

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "cgjbsx0s0sk8",
  • "page_id": "string",
  • "name": "API Components",
  • "description": "string",
  • "components":
    [
    ],
  • "position": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Get a component group

Get a component group

Authorizations:
path Parameters
page_id
required
string

Page identifier

id
required
string

Component group identifier

Responses

200

Get a component group

401

Could not authenticate

404

The requested resource could not be found.

get /pages/{page_id}/component-groups/{id}
https://api.statuspage.io/v1/pages/{page_id}/component-groups/{id}

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/component-groups/{id} \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "cgjbsx0s0sk8",
  • "page_id": "string",
  • "name": "API Components",
  • "description": "string",
  • "components":
    [
    ],
  • "position": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Get uptime data for a component group

Get uptime data for a component group that has uptime showcase enabled for at least one component.

Authorizations:
path Parameters
page_id
required
string

Page identifier

id
required
string

Component group identifier

query Parameters
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.

Responses

200

Get uptime data for a component group that has uptime showcase enabled for at least one component.

401

Could not authenticate

404

The requested resource could not be found.

422

Unprocessable entity

get /pages/{page_id}/component-groups/{id}/uptime
https://api.statuspage.io/v1/pages/{page_id}/component-groups/{id}/uptime

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "range_start": "2020-01-15",
  • "range_end": "2020-02-15",
  • "uptime_percentage": 96.67,
  • "major_outage": 86400,
  • "partial_outage": 0,
  • "warnings":
    [
    ],
  • "id": "string",
  • "name": "string",
  • "related_events":
    {
    }
}

Metrics

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

Add data points to metrics

Authorizations:
path Parameters
page_id
required
string

Page identifier

Request Body schema: application/json
data
required
object (MetricAddResponse)

Add data points to metrics

Responses

202

Data Point is submitted and is currently being added to the metrics

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

405

Method not allowed.

post /pages/{page_id}/metrics/data
https://api.statuspage.io/v1/pages/{page_id}/metrics/data

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "7j64dcj8yn4d":
    [
    ]
}

Get a list of metrics

Get a list of metrics

Authorizations:
path Parameters
page_id
required
string

Page identifier

query Parameters
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.

Responses

200

Get a list of metrics

401

Could not authenticate

404

The requested resource could not be found.

get /pages/{page_id}/metrics
https://api.statuspage.io/v1/pages/{page_id}/metrics

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/metrics \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "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-04-18T12:19:46Z",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "last_fetched_at": "2024-04-18T12:19:46Z",
  • "backfill_percentage": 0,
  • "reference_name": "string"
}

Update a metric

Update a metric

Authorizations:
path Parameters
page_id
required
string

Page identifier

metric_id
required
string

Metric Identifier

Request Body schema: application/json
metric
object

Responses

200

Update a metric

401

Could not authenticate

404

The requested resource could not be found.

422

Unprocessable entity

patch /pages/{page_id}/metrics/{metric_id}
https://api.statuspage.io/v1/pages/{page_id}/metrics/{metric_id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "metric":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "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-04-18T12:19:46Z",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "last_fetched_at": "2024-04-18T12:19:46Z",
  • "backfill_percentage": 0,
  • "reference_name": "string"
}

Update a metric

Update a metric

Authorizations:
path Parameters
page_id
required
string

Page identifier

metric_id
required
string

Metric Identifier

Request Body schema: application/json
metric
object

Responses

200

Update a metric

401

Could not authenticate

404

The requested resource could not be found.

422

Unprocessable entity

put /pages/{page_id}/metrics/{metric_id}
https://api.statuspage.io/v1/pages/{page_id}/metrics/{metric_id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "metric":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "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-04-18T12:19:46Z",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "last_fetched_at": "2024-04-18T12:19:46Z",
  • "backfill_percentage": 0,
  • "reference_name": "string"
}

Delete a metric

Delete a metric

Authorizations:
path Parameters
page_id
required
string

Page identifier

metric_id
required
string

Metric Identifier

Responses

200

Delete a metric

401

Could not authenticate

404

The requested resource could not be found.

delete /pages/{page_id}/metrics/{metric_id}
https://api.statuspage.io/v1/pages/{page_id}/metrics/{metric_id}

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/metrics/{metric_id} \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X DELETE

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "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-04-18T12:19:46Z",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "last_fetched_at": "2024-04-18T12:19:46Z",
  • "backfill_percentage": 0,
  • "reference_name": "string"
}

Get a metric

Get a metric

Authorizations:
path Parameters
page_id
required
string

Page identifier

metric_id
required
string

Metric Identifier

Responses

200

Get a metric

401

Could not authenticate

404

The requested resource could not be found.

get /pages/{page_id}/metrics/{metric_id}
https://api.statuspage.io/v1/pages/{page_id}/metrics/{metric_id}

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/metrics/{metric_id} \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "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-04-18T12:19:46Z",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "last_fetched_at": "2024-04-18T12:19:46Z",
  • "backfill_percentage": 0,
  • "reference_name": "string"
}

Reset data for a metric

Reset data for a metric

Authorizations:
path Parameters
page_id
required
string

Page identifier

metric_id
required
string

Metric Identifier

Responses

200

Reset data for a metric

401

Could not authenticate

404

The requested resource could not be found.

delete /pages/{page_id}/metrics/{metric_id}/data
https://api.statuspage.io/v1/pages/{page_id}/metrics/{metric_id}/data

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/metrics/{metric_id}/data \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X DELETE

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "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-04-18T12:19:46Z",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "last_fetched_at": "2024-04-18T12:19:46Z",
  • "backfill_percentage": 0,
  • "reference_name": "string"
}

Add data to a metric

Add data to a metric

Authorizations:
path Parameters
page_id
required
string

Page identifier

metric_id
required
string

Metric Identifier

Request Body schema: application/json
data
required
object

Responses

201

Add data to a metric

401

Could not authenticate

404

The requested resource could not be found.

405

Method not allowed.

422

Unprocessable entity

post /pages/{page_id}/metrics/{metric_id}/data
https://api.statuspage.io/v1/pages/{page_id}/metrics/{metric_id}/data

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    {
    }
}

List metrics for a metric provider

List metrics for a metric provider

Authorizations:
path Parameters
page_id
required
string

Page identifier

metrics_provider_id
required
string

Metric Provider Identifier

query Parameters
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.

Responses

200

List metrics for a metric provider

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

get /pages/{page_id}/metrics_providers/{metrics_provider_id}/metrics
https://api.statuspage.io/v1/pages/{page_id}/metrics_providers/{metrics_provider_id}/metrics

Request samples

Copy
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

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "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-04-18T12:19:46Z",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "last_fetched_at": "2024-04-18T12:19:46Z",
  • "backfill_percentage": 0,
  • "reference_name": "string"
}

Create a metric for a metric provider

Create a metric for a metric provider

Authorizations:
path Parameters
page_id
required
string

Page identifier

metrics_provider_id
required
string

Metric Provider Identifier

Request Body schema: application/json
metric
object

Responses

201

Create a metric for a metric provider

400

Bad request

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

422

Unprocessable entity

post /pages/{page_id}/metrics_providers/{metrics_provider_id}/metrics
https://api.statuspage.io/v1/pages/{page_id}/metrics_providers/{metrics_provider_id}/metrics

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "metric":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "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-04-18T12:19:46Z",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "last_fetched_at": "2024-04-18T12:19:46Z",
  • "backfill_percentage": 0,
  • "reference_name": "string"
}

Metric Providers

Get a list of metric providers

Get a list of metric providers

Authorizations:
path Parameters
page_id
required
string

Page identifier

Responses

200

Get a list of metric providers

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

get /pages/{page_id}/metrics_providers
https://api.statuspage.io/v1/pages/{page_id}/metrics_providers

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/metrics_providers \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a metric provider

Create a metric provider

Authorizations:
path Parameters
page_id
required
string

Page identifier

Request Body schema: application/json
metrics_provider
object

Responses

201

Create a metric provider

400

Bad request

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

422

Unprocessable entity

post /pages/{page_id}/metrics_providers
https://api.statuspage.io/v1/pages/{page_id}/metrics_providers

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "metrics_provider":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "type": "string",
  • "disabled": true,
  • "metric_base_uri": "string",
  • "last_revalidated_at": "2024-04-18T12:19:46Z",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "page_id": 0
}

Get a metric provider

Get a metric provider

Authorizations:
path Parameters
page_id
required
string

Page identifier

metrics_provider_id
required
string

Metric Provider Identifier

Responses

200

Get a metric provider

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

get /pages/{page_id}/metrics_providers/{metrics_provider_id}
https://api.statuspage.io/v1/pages/{page_id}/metrics_providers/{metrics_provider_id}

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/metrics_providers/{metrics_provider_id} \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "type": "string",
  • "disabled": true,
  • "metric_base_uri": "string",
  • "last_revalidated_at": "2024-04-18T12:19:46Z",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "page_id": 0
}

Update a metric provider

Update a metric provider

Authorizations:
path Parameters
page_id
required
string

Page identifier

metrics_provider_id
required
string

Metric Provider Identifier

Request Body schema: application/json
metrics_provider
object

Responses

200

Update a metric provider

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

patch /pages/{page_id}/metrics_providers/{metrics_provider_id}
https://api.statuspage.io/v1/pages/{page_id}/metrics_providers/{metrics_provider_id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "metrics_provider":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "type": "string",
  • "disabled": true,
  • "metric_base_uri": "string",
  • "last_revalidated_at": "2024-04-18T12:19:46Z",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "page_id": 0
}

Update a metric provider

Update a metric provider

Authorizations:
path Parameters
page_id
required
string

Page identifier

metrics_provider_id
required
string

Metric Provider Identifier

Request Body schema: application/json
metrics_provider
object

Responses

200

Update a metric provider

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

put /pages/{page_id}/metrics_providers/{metrics_provider_id}
https://api.statuspage.io/v1/pages/{page_id}/metrics_providers/{metrics_provider_id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "metrics_provider":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "type": "string",
  • "disabled": true,
  • "metric_base_uri": "string",
  • "last_revalidated_at": "2024-04-18T12:19:46Z",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "page_id": 0
}

Delete a metric provider

Delete a metric provider

Authorizations:
path Parameters
page_id
required
string

Page identifier

metrics_provider_id
required
string

Metric Provider Identifier

Responses

200

Delete a metric provider

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

delete /pages/{page_id}/metrics_providers/{metrics_provider_id}
https://api.statuspage.io/v1/pages/{page_id}/metrics_providers/{metrics_provider_id}

Request samples

Copy
curl https://api.statuspage.io/v1/pages/{page_id}/metrics_providers/{metrics_provider_id} \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X DELETE

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "type": "string",
  • "disabled": true,
  • "metric_base_uri": "string",
  • "last_revalidated_at": "2024-04-18T12:19:46Z",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "page_id": 0
}

List metrics for a metric provider

List metrics for a metric provider

Authorizations:
path Parameters
page_id
required
string

Page identifier

metrics_provider_id
required
string

Metric Provider Identifier

query Parameters
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.

Responses

200

List metrics for a metric provider

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

get /pages/{page_id}/metrics_providers/{metrics_provider_id}/metrics
https://api.statuspage.io/v1/pages/{page_id}/metrics_providers/{metrics_provider_id}/metrics

Request samples

Copy
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

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "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-04-18T12:19:46Z",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "last_fetched_at": "2024-04-18T12:19:46Z",
  • "backfill_percentage": 0,
  • "reference_name": "string"
}

Create a metric for a metric provider

Create a metric for a metric provider

Authorizations:
path Parameters
page_id
required
string

Page identifier

metrics_provider_id
required
string

Metric Provider Identifier

Request Body schema: application/json
metric
object

Responses

201

Create a metric for a metric provider

400

Bad request

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

422

Unprocessable entity

post /pages/{page_id}/metrics_providers/{metrics_provider_id}/metrics
https://api.statuspage.io/v1/pages/{page_id}/metrics_providers/{metrics_provider_id}/metrics

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "metric":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "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-04-18T12:19:46Z",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z",
  • "last_fetched_at": "2024-04-18T12:19:46Z",
  • "backfill_percentage": 0,
  • "reference_name": "string"
}

Users

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

Get a user's permissions

Authorizations:
path Parameters
organization_id
required
string

Organization Identifier

user_id
required
string

User identifier

Responses

200

Get a user's permissions

401

Could not authenticate

404

The requested resource could not be found.

get /organizations/{organization_id}/permissions/{user_id}
https://api.statuspage.io/v1/organizations/{organization_id}/permissions/{user_id}

Request samples

Copy
curl https://api.statuspage.io/v1/organizations/{organization_id}/permissions/{user_id} \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "user_id": "gphff82s2gbm",
  • "pages":
    [
    ]
}

Delete a user

Delete a user

Authorizations:
path Parameters
organization_id
required
string

Organization Identifier

user_id
required
string

User Identifier

Responses

200

Delete a user

401

Could not authenticate

403

You are not authorized to access this resource.

404

The requested resource could not be found.

delete /organizations/{organization_id}/users/{user_id}
https://api.statuspage.io/v1/organizations/{organization_id}/users/{user_id}

Request samples

Copy
curl https://api.statuspage.io/v1/organizations/{organization_id}/users \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X DELETE

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization_id": "string",
  • "email": "string",
  • "first_name": "string",
  • "last_name": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Create a user

Create a user

Authorizations:
path Parameters
organization_id
required
string

Organization Identifier

Request Body schema: application/json
user
required
object

Responses

201

Create a user

401

Could not authenticate

404

The requested resource could not be found.

422

Unprocessable entity

post /organizations/{organization_id}/users
https://api.statuspage.io/v1/organizations/{organization_id}/users

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "user":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "organization_id": "string",
  • "email": "string",
  • "first_name": "string",
  • "last_name": "string",
  • "created_at": "2024-04-18T12:19:46Z",
  • "updated_at": "2024-04-18T12:19:46Z"
}

Get a list of users

Get a list of users

Authorizations:
path Parameters
organization_id
required
string

Organization Identifier

query Parameters
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.

Responses

200

Get a list of users

401

Could not authenticate

404

The requested resource could not be found.

get /organizations/{organization_id}/users
https://api.statuspage.io/v1/organizations/{organization_id}/users

Request samples

Copy
curl https://api.statuspage.io/v1/organizations/{organization_id}/users \
  -H "Authorization: OAuth your-api-key-goes-here" \
  -X GET

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]
 

Loading ...