Incidents API Reference

Get all page incidents

Endpoint:

GET /v1/:page_id/incidents?page=:page&per_page=:per_page
  • The default page number is 1.
  • The default per_page number is 50 and the maximum is 100 items per page.

Example response:

[
{
"id": "ckf01m59ueaqb0a32wrljz1yd",
"name": "Rocket is going down",
"started": "2020-09-12T19:05:17.398Z",
"status": "RESOLVED",
"resolved": "2020-09-12T19:09:04.498Z",
"updates": [
{
"id": "ckf01m5ioeaqi0a32jtv8ovp8",
"message": "We are currently investigating this incident.",
"messageHtml": "<p>We are currently investigating this incident.</p>",
"status": "INVESTIGATING",
"notify": true,
"started": "2020-09-12T19:05:17.398Z",
"ended": null,
"duration": 228,
"createdAt": "2020-09-12T19:08:50.160Z"
},
{
"id": "ckf01mnk9eaui0a32mmhgq68g",
"message": "This incident has been resolved.",
"messageHtml": "<p>This incident has been resolved.</p>",
"status": "RESOLVED",
"notify": true,
"started": "2020-09-12T19:09:04.498Z",
"ended": null,
"duration": null,
"createdAt": "2020-09-12T19:09:13.545Z"
}
],
"components": [
{
"id": "ckf01fvnxywz50a35nh1qzssm",
"name": "Website",
"status": "PARTIALOUTAGE",
"showUptime": true,
"site": {
"id": "ckf01fonve9i40a32oas5b0uw",
"name": "Nasa",
"subdomain": "nasa",
"color": null,
"logoUrl": null,
"publicEmail": null
},
"customImpactPercentage": 40
}
],
"user": {
"id": "ckf01g7m4eaqb0a32fl7jl1xx",
"name": "Buzz Aldrin",
"email": "buzz@nasa.com"
}
}
]

You can add status and !status query parameters to restrict the results to incidents that have or have not (respectively) one of comma-separated status list.

user is the team member who created the incident. It is null when the incident was created automatically (by a monitor, third-party integration, or email).

Get an incident

Endpoint:

GET /v1/:page_id/incidents/:incident_id

Example response:

{
"id": "ckf01m59ueaqb0a32wrljz1yd",
"name": "Rocket is going down",
"status": "RESOLVED",
"started": "2020-09-12T19:05:17.398Z",
"resolved": "2020-09-12T19:09:04.498Z",
"updates": [
{
"id": "ckf01m5ioeaqi0a32jtv8ovp8",
"message": "We are currently investigating this incident.",
"messageHtml": "<p>We are currently investigating this incident.</p>",
"status": "INVESTIGATING",
"notify": true,
"started": "2020-09-12T19:05:17.398Z",
"ended": null,
"duration": 228,
"createdAt": "2020-09-12T19:08:50.160Z"
},
{
"id": "ckf01mnk9eaui0a32mmhgq68g",
"message": "This incident has been resolved.",
"messageHtml": "<p>This incident has been resolved.</p>",
"status": "RESOLVED",
"notify": true,
"started": "2020-09-12T19:09:04.498Z",
"ended": null,
"duration": null,
"createdAt": "2020-09-12T19:09:13.545Z"
}
],
"components": [
{
"id": "ckf01fvnxywz50a35nh1qzssm",
"name": "Website",
"status": "MAJOROUTAGE",
"showUptime": true,
"site": {
"id": "ckf01fonve9i40a32oas5b0uw",
"name": "Nasa",
"subdomain": "nasa",
"color": null,
"logoUrl": null,
"publicEmail": null
}
}
],
"user": {
"id": "ckf01g7m4eaqb0a32fl7jl1xx",
"name": "Buzz Aldrin",
"email": "buzz@nasa.com"
}
}

Add an incident

Endpoint:

POST /v1/:page_id/incidents

Example request:

{
"name": "Test incident",
"message": "We're currently investigating an issue with the Website",
"components": ["ckf01fvnxywz50a35nh1qzssm"],
"started": "2020-09-12 05:38:47.998",
"status": "INVESTIGATING",
"notify": true,
"statuses": [
{
"id": "ckf01fvnxywz50a35nh1qzssm",
"status": "PARTIALOUTAGE",
"customImpactPercentage": 40
}
],
"translations": {
"name": {
"fr": "Incident de test"
},
"message": {
"fr": "Nous enquêtons actuellement sur un problème avec le site Web"
}
}
}

Incidents are published to your status page by default. If you would like to create an unpublished incident then you'll need to include and set shouldPublish to false.

Example response:

{
"id": "ckf02l5m8z36j0a35qr9q1tq1",
"name": "Test incident",
"status": "INVESTIGATING",
"started": "2020-09-12T03:38:47.998Z",
"resolved": null,
"updates": [],
"components": [
{
"id": "ckf01fvnxywz50a35nh1qzssm",
"name": "Website",
"status": "OPERATIONAL",
"showUptime": true,
"site": {
"id": "ckf01fonve9i40a32oas5b0uw",
"name": "Nasa",
"subdomain": "nasa",
"color": null,
"logoUrl": null,
"publicEmail": null
}
}
],
"translations": {
"name": {
"fr": "Incident de test"
},
"message": {
"fr": "Nous enquêtons actuellement sur un problème avec le site Web"
}
}
}

Add an incident with a template

Endpoint:

POST /v1/:page_id/incidents/:template

Example response:

{
"id": "cl8hrdsdsasu441sv26yq",
"name": "Investigating Template",
"nameTranslationId": null,
"notify": false,
"status": "INVESTIGATING",
"started": "2022-09-25T19:53:20.778Z",
"resolved": null,
"duration": null,
"createdAt": "2022-09-25T19:53:20.800Z",
"updatedAt": "2022-09-25T19:53:20.800Z",
"automated": false,
"impact": "MAJOROUTAGE",
"appId": null,
"siteId": "cl8hadasdasd6wkxdco",
"importedFrom": null
}

Update incident

Endpoint:

PUT /v1/:page_id/incidents/:incident_id

Example request:

{
"name": "Test incident 2",
"components": ["ckf01fvnxywz50a35nh1qzssm"],
"started": "2020-09-12 05:38:47.998",
"status": "INVESTIGATING",
"notify": true,
"statuses": [
{
"id": "ckf01fvnxywz50a35nh1qzssm",
"status": "OPERATIONAL"
}
],
"translations": {
"name": {
"fr": "Incident de test"
},
"message": {
"fr": "Nous enquêtons actuellement sur un problème avec le site Web"
}
}
}

Example response:

{
"id": "ckf02l5m8z36j0a35qr9q1tq1",
"name": "Test incident 2",
"status": "INVESTIGATING",
"started": "2020-09-12T03:38:47.998Z",
"resolved": null,
"updates": [],
"components": [
{
"id": "ckf01fvnxywz50a35nh1qzssm",
"name": "Website",
"status": "OPERATIONAL",
"showUptime": true,
"site": {
"id": "ckf01fonve9i40a32oas5b0uw",
"name": "Nasa",
"subdomain": "nasa",
"color": null,
"logoUrl": null,
"publicEmail": null
}
}
],
"translations": {
"name": {
"fr": "Incident de test"
},
"message": {
"fr": "Nous enquêtons actuellement sur un problème avec le site Web"
}
}
}

Delete incident

Endpoint:

DELETE /v1/:page_id/incidents/:incident_id

Example response:

{
"id": "ckf02l5m8z36j0a35qr9q1tq1"
}

Get incident responders

Who was paged for an incident by on-call, whether anyone has acknowledged it, and who leads it.

Endpoint:

GET /v1/:page_id/incidents/:incident_id/responders

Example response:

{
"incidentId": "ckf02l5m8z36j0a35qr9q1tq1",
"paged": true,
"acknowledged": true,
"lead": {
"teamMemberId": "clh8nmaan72592bfokqjqd95s1",
"name": "Sam Rivera",
"email": "sam@example.com"
},
"pages": [
{
"teamMemberId": "clh8nmaan72592bfokqjqd95s1",
"name": "Sam Rivera",
"email": "sam@example.com",
"pagedAt": "2026-11-01T12:01:00.000Z"
}
],
"responders": [
{
"teamMemberId": "clh8nmaan72592bfokqjqd95s1",
"name": "Sam Rivera",
"email": "sam@example.com",
"status": "ACKNOWLEDGED",
"acknowledgedAt": "2026-11-01T12:05:00.000Z",
"declinedAt": null
}
]
}

Acknowledge an incident

Acknowledge an incident as the API key's user. The first acknowledgement cancels any escalation still waiting to page more people, and makes that person the incident lead if there is none. Nothing changes on the status page. Acknowledging again is safe: alreadyAcknowledged is then true.

Endpoint:

POST /v1/:page_id/incidents/:incident_id/acknowledge

Example response:

{
"incidentId": "ckf02l5m8z36j0a35qr9q1tq1",
"alreadyAcknowledged": false,
"paged": true,
"acknowledged": true,
"lead": {
"teamMemberId": "clh8nmaan72592bfokqjqd95s1",
"name": "Sam Rivera",
"email": "sam@example.com"
},
"pages": [
{
"teamMemberId": "clh8nmaan72592bfokqjqd95s1",
"name": "Sam Rivera",
"email": "sam@example.com",
"pagedAt": "2026-11-01T12:01:00.000Z"
}
],
"responders": [
{
"teamMemberId": "clh8nmaan72592bfokqjqd95s1",
"name": "Sam Rivera",
"email": "sam@example.com",
"status": "ACKNOWLEDGED",
"acknowledgedAt": "2026-11-01T12:05:00.000Z",
"declinedAt": null
}
]
}