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://help.statuspage.io/help/contact-us-30

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://help.statuspage.io/help/contact-us-30

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

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": "xjn1gn668hnr",
  • "created_at": "2020-11-24T22:53:24Z",
  • "updated_at": "2020-11-24T22:53:24Z",
  • "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": "xjn1gn668hnr",
  • "created_at": "2020-11-24T22:53:24Z",
  • "updated_at": "2020-11-24T22:53:24Z",
  • "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&quo