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 hi@statuspage.io

Rate Limiting

Each API token is limited to 1 request / second as measured on a 60 second rolling window. To get this limit increased or lifted, please contact hi@statuspage.io.

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 console, and can be accessed via the following navigation:

  • Log in to your account at https://manage.statuspage.io/login
  • Click on the User Profile icon at the top-right
  • Click the "Manage Account" link under the menu which appears
  • Click on the "API" tab

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

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

Response samples

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

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

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "y7qgwr2p3dzn",
  • "created_at": "2018-11-14T22:39:58Z",
  • "updated_at": "2018-11-14T22:39:58Z",
  • "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_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",
  • "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

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

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "y7qgwr2p3dzn",
  • "created_at": "2018-11-14T22:39:58Z",
  • "updated_at": "2018-11-14T22:39:58Z",
  • "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_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",
  • "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}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "y7qgwr2p3dzn",
  • "created_at": "2018-11-14T22:39:58Z",
  • "updated_at": "2018-11-14T22:39:58Z",
  • "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_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",
  • "favicon_logo": "string",
  • "transactional_logo": "string",
  • "hero_cover": "string",
  • "email_logo": "string",
  • "twitter_logo": "string"
}

getPagesPageIdMetrics

Get a list of metrics

Authorizations:
path Parameters
page_id
required
string

Page identifier

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

Response samples

application/json
Copy
Expand all Collapse all
{
  • "message": "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 enable access control for your status page 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.

422

Unprocessable entity

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

Request samples

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

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "nm4bfw677mj9",
  • "page_id": "string",
  • "email": "user@example.com",
  • "external_login": "string",
  • "page_access_group_id": "string",
  • "page_access_group_ids": [ ],
  • "created_at": "2018-11-14T22:39:59Z",
  • "updated_at": "2018-11-14T22:39:59Z"
}

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

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

Response samples

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}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "nm4bfw677mj9",
  • "page_id": "string",
  • "email": "user@example.com",
  • "external_login": "string",
  • "page_access_group_id": "string",
  • "page_access_group_ids": [ ],
  • "created_at": "2018-11-14T22:39:59Z",
  • "updated_at": "2018-11-14T22:39:59Z"
}

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}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "nm4bfw677mj9",
  • "page_id": "string",
  • "email": "user@example.com",
  • "external_login": "string",
  • "page_access_group_id": "string",
  • "page_access_group_ids": [ ],
  • "created_at": "2018-11-14T22:39:59Z",
  • "updated_at": "2018-11-14T22:39:59Z"
}

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}

Response samples

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}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "nm4bfw677mj9",
  • "page_id": "string",
  • "email": "user@example.com",
  • "external_login": "string",
  • "page_access_group_id": "string",
  • "page_access_group_ids": [ ],
  • "created_at": "2018-11-14T22:39:59Z",
  • "updated_at": "2018-11-14T22:39:59Z"
}

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/x-www-form-urlencoded
component_ids
required
Array of string

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

Response samples

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

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/x-www-form-urlencoded
component_ids
required
Array of string

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

Response samples

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

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/x-www-form-urlencoded
component_ids
required
Array of string

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

Response samples

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

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/x-www-form-urlencoded
component_ids
Array of string

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

Responses

204

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

Response samples

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

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

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

Response samples

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

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}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "nm4bfw677mj9",
  • "page_id": "string",
  • "email": "user@example.com",
  • "external_login": "string",
  • "page_access_group_id": "string",
  • "page_access_group_ids": [ ],
  • "created_at": "2018-11-14T22:39:59Z",
  • "updated_at": "2018-11-14T22:39:59Z"
}

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 string

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

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

Response samples

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

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