Full API and Integration Documentation

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.

Get a list of all components
ENDPOINT
  GET /pages/[page_id]/components.json

SAMPLE CALL
  curl https://api.statuspage.io/v1/pages/qfn30z5r6s5h/components.json \
    -H "Authorization: OAuth 2a7b9d4aac30956d537ac76850f4d78de30994703680056cc103862d53cf8074"

RESPONSE CODES
  200 - Successful call

SAMPLE RESPONSE
  [
    {
      "created_at": "2013-03-05T20:50:42Z",
      "id": "ftgks51sfs2d",
      "name": "API",
      "description": "Lorem",
      "position": 1,
      "status": "partial_outage",
      "updated_at": "2013-03-05T22:39:02Z",
      "group_id": nil
    },
    {
      "created_at": "2013-03-05T20:50:42Z",
      "id": "qjzbhr4b1g3s",
      "name": "Management Portal",
      "description": "Ipsum",
      "position": 1,
      "status": "degraded_performance",
      "updated_at": "2013-03-05T22:39:02Z",
      "group_id": "993vgplshj12"
    },
    {
      "created_at": "2013-03-05T20:50:42Z",
      "id": "993vgplshj12",
      "name": "Extras",
      "description": "Dolar",
      "position": 2,
      "status": "partial_outage",
      "updated_at": "2013-03-05T22:39:02Z",
      "group_id": nil
    },
    {
      "created_at": "2013-03-05T20:50:42Z",
      "id": "mc9x3cyhpnbg",
      "name": "Website",
      "description": "Sit Amet",
      "position": 2,
      "status": "operational",
      "updated_at": "2013-03-05T22:39:00Z",
      "group_id": "993vgplshj12"
    }
  ]
Create a component
ENDPOINT
  POST /pages/[page_id]/components.json

ATTRIBUTES
  component[name] - The name of the component
  component[description] - The description of the component
  component[group_id] - The id of the parent component (optional, only 1 level of nesting)

SAMPLE CALL
  curl https://api.statuspage.io/v1/pages/qfn30z5r6s5h/components.json \
    -H "Authorization: OAuth 2a7b9d4aac30956d537ac76850f4d78de30994703680056cc103862d53cf8074" \
    -X POST \
    -d "component[name]=Widget API" \
    -d "component[description]=The API to access all of the widgets" \
    -d "component[group_id]=993vgplshj12"

RESPONSE CODES
  201 - Successful call
  422 - Validation failed (see errors in response body)

SAMPLE RESPONSE
  {
    "created_at": "2013-03-05T20:50:42Z",
    "id": "ftgks51sfs2d",
    "name": "Widgets API",
    "description": "The API to acces all of the widgets",
    "position": 2,
    "status": "operational",
    "updated_at": "2013-03-05T22:44:21Z",
    "group_id": "993vgplshj12"
  }
Update a component
ENDPOINT
  PATCH /pages/[page_id]/components/[component_id].json

MUTABLE ATTRIBUTES
  component[name] - The name of the component
  component[description] - The description of the component
  component[status] - The status, one of operational|degraded_performance|partial_outage|major_outage. To set a 3rd party component back to its official status, pass in a blank string ("component[status]=")

SAMPLE CALL
  curl https://api.statuspage.io/v1/pages/qfn30z5r6s5h/components/ftgks51sfs2d.json \
    -H "Authorization: OAuth 2a7b9d4aac30956d537ac76850f4d78de30994703680056cc103862d53cf8074" \
    -X PATCH \
    -d "component[status]=major_outage" 

RESPONSE CODES
  200 - Successful call
  422 - Validation failed (see errors in response body)

SAMPLE RESPONSE
  {
    "created_at": "2013-03-05T20:50:42Z",
    "id": "ftgks51sfs2d",
    "name": "API",
    "description": "Lorem",
    "position": 1,
    "status": "major_outage",
    "updated_at": "2013-03-05T22:44:21Z"
  }
Delete a component
ENDPOINT
  DELETE /pages/[page_id]/components/[component_id].json

SAMPLE CALL
  curl https://api.statuspage.io/v1/pages/qfn30z5r6s5h/components/ftgks51sfs2d.json \
    -H "Authorization: OAuth 2a7b9d4aac30956d537ac76850f4d78de30994703680056cc103862d53cf8074" \
    -X DELETE
    
RESPONSE CODES
  204 - Successful delete