For the complete documentation index, see llms.txt. This page is also available as Markdown.

Incidents

Incidents endpoints

Get the list of incidents of a status page

get
/status_pages/{subdomain}/incidents
Path parameters
subdomainstringRequired

The subdomain of your status page.

You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/subdomain).

Query parameters
beforestringOptional

Used as a cursor for pagination.

afterstringOptional

Used as a cursor for pagination.

limitintegerOptional

Set the number of incidents to return in the response. This defaults to 20 items, and can be a maximum of 100.

typestringOptional

Filter incidents by incident type key.

Example: major
Responses
200

The list of incidents

application/json
get/status_pages/{subdomain}/incidents
GET /api/v2/status_pages/{subdomain}/incidents HTTP/1.1
Host: statuspal.io
Accept: */*
{
  "incidents": [
    {
      "id": 89,
      "inserted_at": "2022-01-01T00:00:00",
      "updated_at": "2022-01-01T00:00:00",
      "title": "We are having issues with the DB connection",
      "starts_at": "2022-01-01T00:00:00",
      "ends_at": "2022-01-01T00:00:00",
      "type": "major",
      "service_ids": [
        1
      ],
      "updates": [
        {
          "id": 89,
          "inserted_at": "2022-01-01T00:00:00",
          "updated_at": "2022-01-01T00:00:00",
          "posted_at": "2022-01-01T00:00:00",
          "type": "issue",
          "description": "We have detected an issue with our CDN",
          "description_html": "<p>We have detected an issue with our CDN</p>",
          "translations": {
            "en": {
              "description": "English description"
            },
            "es": {
              "description": "Spanish description"
            }
          },
          "subscribers_notified_at": "2022-01-01T00:00:00",
          "tweet": true
        }
      ],
      "url": "https://status.google.com/incidents/123",
      "translations": {
        "en": {
          "title": "English Title"
        },
        "es": {
          "title": "Spanish Title"
        }
      },
      "notify": true,
      "maintenance_notify": true,
      "maintenance_notify_settings": {
        "before_notice_minutes": 7200,
        "second_before_notice_minutes": 0,
        "on_start": true,
        "on_end": true
      },
      "affects_uptime": true
    }
  ],
  "links": {
    "next": "{STATUSPAL_HOST}/api/v2/status_pages/subdomain/incidents?after=cUrSoR",
    "prev": "text"
  },
  "meta": {
    "total_count": 100
  }
}

Adds a new incident associated to one or more services

post
/status_pages/{subdomain}/incidents
Authorizations
AuthorizationstringRequired
Path parameters
subdomainstringRequired

The subdomain of your status page.

You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/subdomain).

Body
Responses
200

The incident was created

application/json
post/status_pages/{subdomain}/incidents
POST /api/v2/status_pages/{subdomain}/incidents HTTP/1.1
Host: statuspal.io
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 658

{
  "incident": {
    "title": "We are having issues with the DB connection",
    "starts_at": "2022-01-01T00:00:00",
    "ends_at": "2022-01-01T00:00:00",
    "type": "major",
    "service_ids": [
      1
    ],
    "updates": [
      {
        "posted_at": "2022-01-01T00:00:00",
        "type": "issue",
        "description": "We have detected an issue with our CDN",
        "translations": {
          "en": {
            "description": "English description"
          },
          "es": {
            "description": "Spanish description"
          }
        },
        "notify": true,
        "tweet": true
      }
    ],
    "translations": {
      "en": {
        "title": "English Title"
      },
      "es": {
        "title": "Spanish Title"
      }
    },
    "notify": true,
    "maintenance_notify": true,
    "maintenance_notify_settings": {
      "before_notice_minutes": 7200,
      "second_before_notice_minutes": 0,
      "on_start": true,
      "on_end": true
    }
  }
}
{
  "incident": {
    "id": 89,
    "inserted_at": "2022-01-01T00:00:00",
    "updated_at": "2022-01-01T00:00:00",
    "title": "We are having issues with the DB connection",
    "starts_at": "2022-01-01T00:00:00",
    "ends_at": "2022-01-01T00:00:00",
    "type": "major",
    "service_ids": [
      1
    ],
    "updates": [
      {
        "id": 89,
        "inserted_at": "2022-01-01T00:00:00",
        "updated_at": "2022-01-01T00:00:00",
        "posted_at": "2022-01-01T00:00:00",
        "type": "issue",
        "description": "We have detected an issue with our CDN",
        "description_html": "<p>We have detected an issue with our CDN</p>",
        "translations": {
          "en": {
            "description": "English description"
          },
          "es": {
            "description": "Spanish description"
          }
        },
        "subscribers_notified_at": "2022-01-01T00:00:00",
        "tweet": true
      }
    ],
    "url": "https://status.google.com/incidents/123",
    "translations": {
      "en": {
        "title": "English Title"
      },
      "es": {
        "title": "Spanish Title"
      }
    },
    "notify": true,
    "maintenance_notify": true,
    "maintenance_notify_settings": {
      "before_notice_minutes": 7200,
      "second_before_notice_minutes": 0,
      "on_start": true,
      "on_end": true
    },
    "affects_uptime": true
  }
}

Get an incident

get
/status_pages/{subdomain}/incidents/{incidentId}
Path parameters
subdomainstringRequired

The subdomain of your status page.

You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/subdomain).

incidentIdintegerRequired

The ID of an incident/maintenance

Responses
200

Incident object

application/json
get/status_pages/{subdomain}/incidents/{incidentId}
GET /api/v2/status_pages/{subdomain}/incidents/{incidentId} HTTP/1.1
Host: statuspal.io
Accept: */*
{
  "incident": {
    "id": 89,
    "inserted_at": "2022-01-01T00:00:00",
    "updated_at": "2022-01-01T00:00:00",
    "title": "We are having issues with the DB connection",
    "starts_at": "2022-01-01T00:00:00",
    "ends_at": "2022-01-01T00:00:00",
    "type": "major",
    "service_ids": [
      1
    ],
    "updates": [
      {
        "id": 89,
        "inserted_at": "2022-01-01T00:00:00",
        "updated_at": "2022-01-01T00:00:00",
        "posted_at": "2022-01-01T00:00:00",
        "type": "issue",
        "description": "We have detected an issue with our CDN",
        "description_html": "<p>We have detected an issue with our CDN</p>",
        "translations": {
          "en": {
            "description": "English description"
          },
          "es": {
            "description": "Spanish description"
          }
        },
        "subscribers_notified_at": "2022-01-01T00:00:00",
        "tweet": true
      }
    ],
    "url": "https://status.google.com/incidents/123",
    "translations": {
      "en": {
        "title": "English Title"
      },
      "es": {
        "title": "Spanish Title"
      }
    },
    "notify": true,
    "maintenance_notify": true,
    "maintenance_notify_settings": {
      "before_notice_minutes": 7200,
      "second_before_notice_minutes": 0,
      "on_start": true,
      "on_end": true
    },
    "affects_uptime": true
  }
}

Updates existing incident

put
/status_pages/{subdomain}/incidents/{incidentId}
Authorizations
AuthorizationstringRequired
Path parameters
incidentIdintegerRequired

The ID of an incident/maintenance

subdomainstringRequired

The subdomain of your status page.

You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/subdomain).

Body
Responses
200

The incident was updated

application/json
put/status_pages/{subdomain}/incidents/{incidentId}
PUT /api/v2/status_pages/{subdomain}/incidents/{incidentId} HTTP/1.1
Host: statuspal.io
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 658

{
  "incident": {
    "title": "We are having issues with the DB connection",
    "starts_at": "2022-01-01T00:00:00",
    "ends_at": "2022-01-01T00:00:00",
    "type": "major",
    "service_ids": [
      1
    ],
    "updates": [
      {
        "posted_at": "2022-01-01T00:00:00",
        "type": "issue",
        "description": "We have detected an issue with our CDN",
        "translations": {
          "en": {
            "description": "English description"
          },
          "es": {
            "description": "Spanish description"
          }
        },
        "notify": true,
        "tweet": true
      }
    ],
    "translations": {
      "en": {
        "title": "English Title"
      },
      "es": {
        "title": "Spanish Title"
      }
    },
    "notify": true,
    "maintenance_notify": true,
    "maintenance_notify_settings": {
      "before_notice_minutes": 7200,
      "second_before_notice_minutes": 0,
      "on_start": true,
      "on_end": true
    }
  }
}
{
  "incident": {
    "id": 89,
    "inserted_at": "2022-01-01T00:00:00",
    "updated_at": "2022-01-01T00:00:00",
    "title": "We are having issues with the DB connection",
    "starts_at": "2022-01-01T00:00:00",
    "ends_at": "2022-01-01T00:00:00",
    "type": "major",
    "service_ids": [
      1
    ],
    "updates": [
      {
        "id": 89,
        "inserted_at": "2022-01-01T00:00:00",
        "updated_at": "2022-01-01T00:00:00",
        "posted_at": "2022-01-01T00:00:00",
        "type": "issue",
        "description": "We have detected an issue with our CDN",
        "description_html": "<p>We have detected an issue with our CDN</p>",
        "translations": {
          "en": {
            "description": "English description"
          },
          "es": {
            "description": "Spanish description"
          }
        },
        "subscribers_notified_at": "2022-01-01T00:00:00",
        "tweet": true
      }
    ],
    "url": "https://status.google.com/incidents/123",
    "translations": {
      "en": {
        "title": "English Title"
      },
      "es": {
        "title": "Spanish Title"
      }
    },
    "notify": true,
    "maintenance_notify": true,
    "maintenance_notify_settings": {
      "before_notice_minutes": 7200,
      "second_before_notice_minutes": 0,
      "on_start": true,
      "on_end": true
    },
    "affects_uptime": true
  }
}

Deletes incident permanently

delete
/status_pages/{subdomain}/incidents/{incidentId}
Authorizations
AuthorizationstringRequired
Path parameters
subdomainstringRequired

The subdomain of your status page.

You can find this under your status page settings, the Subdomain field is found under the "Domain name" section. Alternatively find it in the URL of your admin dashboard (e.g. statuspal.io/admin/subdomain).

incidentIdintegerRequired

The ID of an incident/maintenance

Responses
200

Incident deleted successfully

delete/status_pages/{subdomain}/incidents/{incidentId}
DELETE /api/v2/status_pages/{subdomain}/incidents/{incidentId} HTTP/1.1
Host: statuspal.io
Authorization: YOUR_API_KEY
Accept: */*

No content

Last updated