Full API and Integration Documentation

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.

  • Collections are buckets: https://api.statuspage.io/v1/pages/asdf123/incidents.json
  • Elements have unique IDs: https://api.statuspage.io/v1/pages/asdf123/incidents/jklm456.json
  • GET will retrieve information about a collection/element
  • POST will create an element in a collection
  • PATCH will update a single element
  • PUT will replace a single element in a collection (rarely used)
  • DELETE will destroy a single element
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.

Sample form encoded call
  curl https://api.statuspage.io/v1/pages/asdf123.json \
    -H "Authorization: OAuth 2a7b9d4aac30956d537ac76850f4d78de30994703680056cc103862d53cf8074"
    -X PATCH \
    -d "page[name]=My Org"

Sample json body call
  curl https://api.statuspage.io/v1/pages/asdf123.json \
    -H "Authorization: OAuth 2a7b9d4aac30956d537ac76850f4d78de30994703680056cc103862d53cf8074" \
    -X PATCH \
    -H "Content-Type: application/json" \
    -d '{"page": {"name": "My Org"}}'