Checkly Status Page Incidents API
The Status Page Incidents API from Checkly — 10 operation(s) for status page incidents.
The Status Page Incidents API from Checkly — 10 operation(s) for status page incidents.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/checkly-status-page-incidents-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Checkly Public Status Page Incidents API
version: v1
description: These are the docs for the newly released Checkly Public API.<br />If you have any questions, please do not hesitate to get in touch with us.
servers:
- url: https://api.checklyhq.com
security:
- Bearer: []
tags:
- name: Status Page Incidents
paths:
/v1/status-pages/incidents:
get:
summary: Retrieve the latest incidents with pagination.
operationId: getV1StatuspagesIncidents
description: Get the latest 100 incidents for all services.
parameters:
- name: x-checkly-account
in: header
schema:
type: string
description: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
x-format:
guid: true
description: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
- name: limit
in: query
schema:
type: integer
default: 20
minimum: 1
maximum: 100
- name: nextId
in: query
schema:
type: string
tags:
- Status Page Incidents
responses:
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/IncidentsPaginatedResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsError'
deprecated: true
post:
summary: Create a new incident.
operationId: postV1StatuspagesIncidents
description: Creates a new incident.
parameters:
- name: x-checkly-account
in: header
schema:
type: string
description: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
x-format:
guid: true
description: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
tags:
- Status Page Incidents
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateStatusPageV2Incident'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/StatusPageV2Incident'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsError'
deprecated: true
/v1/status-pages/incidents/{incidentId}:
delete:
summary: Delete an incident.
operationId: deleteV1StatuspagesIncidentsIncidentid
description: Permanently removes an incident and all its updates.
parameters:
- name: x-checkly-account
in: header
schema:
type: string
description: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
x-format:
guid: true
description: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
- name: incidentId
in: path
schema:
type: string
x-format:
guid: true
required: true
tags:
- Status Page Incidents
responses:
'204':
description: No Content
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsError'
deprecated: true
get:
summary: Retrieve an incident by id.
operationId: getV1StatuspagesIncidentsIncidentid
description: Get incident details including incident history and affected services.
parameters:
- name: x-checkly-account
in: header
schema:
type: string
description: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
x-format:
guid: true
description: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
- name: incidentId
in: path
schema:
type: string
x-format:
guid: true
required: true
tags:
- Status Page Incidents
responses:
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/StatusPageV2Incident'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsError'
deprecated: true
put:
summary: Update an existing incident.
operationId: putV1StatuspagesIncidentsIncidentid
description: Updates an incident.
parameters:
- name: x-checkly-account
in: header
schema:
type: string
description: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
x-format:
guid: true
description: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
- name: incidentId
in: path
schema:
type: string
x-format:
guid: true
required: true
tags:
- Status Page Incidents
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StatusPageV2IncidentCommon'
responses:
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/StatusPageV2Incident'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsError'
deprecated: true
/v1/status-pages/incidents/{incidentId}/incident-updates:
get:
summary: Retrieve the 100 latest incident updates of a specific incident.
operationId: getV1StatuspagesIncidentsIncidentidIncidentupdates
description: Lists all updates for a specific incident.
parameters:
- name: x-checkly-account
in: header
schema:
type: string
description: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
x-format:
guid: true
description: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
- name: incidentId
in: path
schema:
type: string
x-format:
guid: true
required: true
tags:
- Status Page Incidents
responses:
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/Model76'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsError'
deprecated: true
post:
summary: Add a new incident update to a specific incident.
operationId: postV1StatuspagesIncidentsIncidentidIncidentupdates
description: Creates a new update for an incident.
parameters:
- name: x-checkly-account
in: header
schema:
type: string
description: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
x-format:
guid: true
description: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
- name: incidentId
in: path
schema:
type: string
x-format:
guid: true
required: true
tags:
- Status Page Incidents
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StatusPageV2IncidentUpdate'
responses:
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/StatusPageV2IncidentUpdate'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsError'
deprecated: true
/v1/status-pages/incidents/{incidentId}/incident-updates/{incidentUpdateId}:
delete:
summary: Delete an incident update.
operationId: deleteV1StatuspagesIncidentsIncidentidIncidentupdatesIncidentupdateid
description: Permanently removes an incident update.
parameters:
- name: x-checkly-account
in: header
schema:
type: string
description: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
x-format:
guid: true
description: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
- name: incidentId
in: path
schema:
type: string
x-format:
guid: true
required: true
- name: incidentUpdateId
in: path
schema:
type: string
x-format:
guid: true
required: true
tags:
- Status Page Incidents
responses:
'204':
description: No Content
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsError'
deprecated: true
get:
summary: Retrieve an incident update by id.
operationId: getV1StatuspagesIncidentsIncidentidIncidentupdatesIncidentupdateid
description: Shows details of a specific incident update.
parameters:
- name: x-checkly-account
in: header
schema:
type: string
description: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
x-format:
guid: true
description: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
- name: incidentId
in: path
schema:
type: string
x-format:
guid: true
required: true
- name: incidentUpdateId
in: path
schema:
type: string
x-format:
guid: true
required: true
tags:
- Status Page Incidents
responses:
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/StatusPageV2IncidentUpdate'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsError'
deprecated: true
put:
summary: Update an existing incident update.
operationId: putV1StatuspagesIncidentsIncidentidIncidentupdatesIncidentupdateid
description: Modifies an incident update.
parameters:
- name: x-checkly-account
in: header
schema:
type: string
description: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
x-format:
guid: true
description: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general
- name: incidentId
in: path
schema:
type: string
x-format:
guid: true
required: true
- name: incidentUpdateId
in: path
schema:
type: string
x-format:
guid: true
required: true
tags:
- Status Page Incidents
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StatusPageV2IncidentUpdate'
responses:
'200':
description: Successful
content:
application/json:
schema:
$ref: '#/components/schemas/StatusPageV2IncidentUpdate'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsError'
deprecated: true
components:
schemas:
attributes:
type: object
StatusPageV2IncidentUpdate:
type: object
properties:
id:
type: string
x-format:
guid: true
description:
type: string
status:
$ref: '#/components/schemas/StatusPageIncidentStatus'
publicIncidentUpdateDate:
type: string
format: date-time
default: '2026-08-29T08:22:09.076Z'
created_at:
type: string
format: date
notifySubscribers:
type: boolean
default: false
required:
- description
IncidentUpdates:
type: array
items:
$ref: '#/components/schemas/StatusPageV2IncidentUpdateWithId'
Model2:
type: string
enum:
- Too Many Requests
UnauthorizedError:
type: object
properties:
statusCode:
type: number
enum:
- 401
error:
$ref: '#/components/schemas/error'
message:
type: string
example: Bad Token
attributes:
$ref: '#/components/schemas/attributes'
required:
- statusCode
- error
Model76:
type: array
items:
$ref: '#/components/schemas/StatusPageV2IncidentUpdate'
TooManyRequestsError:
type: object
properties:
statusCode:
type: number
enum:
- 429
error:
$ref: '#/components/schemas/Model2'
message:
type: string
example: Too Many Requests
attributes:
$ref: '#/components/schemas/attributes'
required:
- statusCode
- error
StatusPageV2IncidentCommon:
type: object
properties:
id:
type: string
x-format:
guid: true
created_at:
type: string
format: date
updated_at:
type: string
format: date
lastUpdateStatus:
$ref: '#/components/schemas/StatusPageIncidentStatus'
name:
type: string
maxLength: 255
severity:
$ref: '#/components/schemas/IncidentSeverity'
services:
$ref: '#/components/schemas/IncidentCommonServices'
duration:
type:
- integer
- 'null'
required:
- name
- severity
- services
StatusPageV2Incident:
type: object
properties:
name:
type: string
maxLength: 255
severity:
$ref: '#/components/schemas/IncidentSeverity'
id:
type: string
x-format:
guid: true
services:
$ref: '#/components/schemas/IncidentServices'
incidentUpdates:
$ref: '#/components/schemas/IncidentUpdates'
lastUpdateStatus:
$ref: '#/components/schemas/StatusPageIncidentStatus'
duration:
type:
- integer
- 'null'
created_at:
type: string
format: date
updated_at:
type: string
format: date
required:
- name
- severity
- id
- services
- incidentUpdates
- lastUpdateStatus
- created_at
IncidentsPaginatedResponse:
type: object
properties:
length:
type: integer
entries:
$ref: '#/components/schemas/IncidentsPaginatedEntries'
nextId:
type:
- string
- 'null'
required:
- length
- entries
IncidentsPaginatedEntries:
type: array
items:
$ref: '#/components/schemas/StatusPageV2Incident'
ForbiddenError:
type: object
properties:
statusCode:
type: number
enum:
- 403
error:
$ref: '#/components/schemas/Model1'
message:
type: string
example: Forbidden
required:
- statusCode
- error
StatusPageV2IncidentUpdateWithId:
type: object
properties:
description:
type: string
status:
$ref: '#/components/schemas/StatusPageIncidentStatus'
publicIncidentUpdateDate:
type: string
format: date-time
default: '2026-08-29T08:22:08.989Z'
notifySubscribers:
type: boolean
default: false
id:
type: string
x-format:
guid: true
created_at:
type: string
format: date
required:
- description
- id
- created_at
CreateIncidentUpdates:
type: array
x-constraint:
length: 1
items:
$ref: '#/components/schemas/StatusPageV2IncidentUpdate'
StatusPageV2Service:
type: object
properties:
name:
type: string
id:
type: string
x-format:
guid: true
accountId:
type: string
x-format:
guid: true
created_at:
type: string
format: date
updated_at:
type:
- string
- 'null'
format: date
required:
- name
- id
- accountId
- created_at
NotFoundError:
type: object
properties:
statusCode:
type: number
enum:
- 404
error:
$ref: '#/components/schemas/Model4'
message:
type: string
example: Not Found
required:
- statusCode
- error
error:
type: string
enum:
- Unauthorized
IncidentSeverity:
type: string
enum:
- CRITICAL
- MAJOR
- MEDIUM
- MINOR
Model4:
type: string
enum:
- Not Found
IncidentService:
type: object
properties:
name:
type: string
id:
type: string
x-format:
guid: true
accountId:
type: string
x-format:
guid: true
created_at:
type: string
format: date
updated_at:
type:
- string
- 'null'
format: date
required:
- name
- id
- accountId
Model1:
type: string
enum:
- Forbidden
IncidentCommonServices:
type: array
minItems: 1
items:
$ref: '#/components/schemas/IncidentService'
IncidentServices:
type: array
items:
$ref: '#/components/schemas/StatusPageV2Service'
StatusPageIncidentStatus:
type: string
enum:
- INVESTIGATING
- IDENTIFIED
- MONITORING
- RESOLVED
CreateStatusPageV2Incident:
type: object
properties:
id:
type: string
x-format:
guid: true
created_at:
type: string
format: date
updated_at:
type: string
format: date
lastUpdateStatus:
$ref: '#/components/schemas/StatusPageIncidentStatus'
name:
type: string
maxLength: 255
severity:
$ref: '#/components/schemas/IncidentSeverity'
services:
$ref: '#/components/schemas/IncidentCommonServices'
duration:
type:
- integer
- 'null'
incidentUpdates:
$ref: '#/components/schemas/CreateIncidentUpdates'
required:
- name
- severity
- services
- incidentUpdates
securitySchemes:
Bearer:
type: http
scheme: bearer
bearerFormat: Bearer
description: 'The Checkly Public API uses API keys to authenticate requests. You can get the API Key <a href="https://app.checklyhq.com/settings/user/api-keys" target="_blank">here</a>.</br>Your API key is like a password: <br>keep it secure!</br></br>Authentication to the API is performed using the Bearer auth method in the Authorization header and using the account ID.</br></br>For example, set <b>Authorization</b> header while using cURL: <code>curl -H "Authorization: Bearer [apiKey]" "X-Checkly-Account: [accountId]"</code></br>'