Riferimento API degli incidenti

Ottenere tutti gli incidenti della pagina

Endpoint:

GET /v1/:page_id/incidents?page=:page&per_page=:per_page
  • Il numero di pagina predefinito è 1.
  • Il valore predefinito di per_page è 50 e il massimo è 100 elementi per pagina.

Esempio di risposta:

[
{
"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"
}
}
]

Puoi aggiungere i parametri query status e !status per limitare i risultati agli incidenti che hanno (o rispettivamente non hanno) uno degli stati indicati in un elenco separato da virgole.

user è il membro del workspace che ha creato l'incidente. È null quando l'incidente è stato creato automaticamente (da un monitor, da un'integrazione di terze parti o via email).

Ottenere un incidente

Endpoint:

GET /v1/:page_id/incidents/:incident_id

Esempio di risposta:

{
"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"
}
}

Aggiungere un incidente

Endpoint:

POST /v1/:page_id/incidents

Esempio di richiesta:

{
"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"
}
}
}

Gli incidenti vengono pubblicati sulla tua status page per impostazione predefinita. Se vuoi creare un incidente non pubblicato, includi shouldPublish e impostalo su false.

Esempio di risposta:

{
"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"
}
}
}

Aggiungere un incidente da un modello

Endpoint:

POST /v1/:page_id/incidents/:template

Esempio di risposta:

{
"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
}

Aggiornare un incidente

Endpoint:

PUT /v1/:page_id/incidents/:incident_id

Esempio di richiesta:

{
"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"
}
}
}

Esempio di risposta:

{
"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"
}
}
}

Eliminare un incidente

Endpoint:

DELETE /v1/:page_id/incidents/:incident_id

Esempio di risposta:

{
"id": "ckf02l5m8z36j0a35qr9q1tq1"
}

Ottenere chi interviene su un incidente

Chi è stato chiamato per un incidente tramite On-call, se qualcuno lo ha già preso in carico e chi lo guida.

Endpoint:

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

Esempio di risposta:

{
"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
}
]
}

Prendere in carico un incidente

Prende in carico un incidente come l'utente della chiave API. La prima presa in carico annulla qualsiasi escalation ancora in attesa di chiamare altre persone e, se non c'è ancora un responsabile, rende quella persona responsabile dell'incidente. Sulla status page non cambia nulla. Prenderlo in carico di nuovo è sicuro: in quel caso alreadyAcknowledged è true.

Endpoint:

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

Esempio di risposta:

{
"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
}
]
}