Checkly Status Pages V3 Incidents API

The Status Pages V3 Incidents API from Checkly — 11 operation(s) for status pages v3 incidents.

Operations 11

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v3/status-pages/{statusPageId}/incidents List incidents on a status page · List the incidents of a v3 status page #
Ask an LLM
“Which incidents are on my status page, most recently updated first?”
“Can I page through a status page's incident history?”
Tell an agent
List incidents on status page {statusPageId}.
Show the next {limit} incidents on status page {statusPageId} after {nextId}.
POST /v3/status-pages/{statusPageId}/incidents Open an incident on a status page · Open an incident on a v3 status page #
Ask an LLM
“How do I declare an outage on my status page?”
“Can a new incident mark specific components as impacted right away?”
Tell an agent
Open incident {name} on status page {statusPageId} with first update {incidentUpdates}.
Declare incident {name} on status page {statusPageId} impacting {componentImpacts}, starting with {incidentUpdates}.
DELETE /v3/status-pages/{statusPageId}/incidents/{incidentId} Delete an incident from a status page · Delete an incident of a v3 status page #
Ask an LLM
“How do I remove an incident posted by mistake from my status page?”
“Does deleting an incident also delete all of its updates?”
Tell an agent destructive · confirm first
Delete incident {incidentId} from status page {statusPageId}.
Permanently remove incident {incidentId} and its updates from page {statusPageId}.
GET /v3/status-pages/{statusPageId}/incidents/{incidentId} Get an incident on a status page · Retrieve an incident of a v3 status page #
Ask an LLM
“What updates and component impacts does a specific incident have?”
“Can I see the full detail of one incident on my status page?”
Tell an agent
Show incident {incidentId} on status page {statusPageId}.
Get the details and impacts of incident {incidentId} from status page {statusPageId}.
PUT /v3/status-pages/{statusPageId}/incidents/{incidentId} Rename an incident or set component status · Update an incident of a v3 status page #
Ask an LLM
“Can I rename an incident that's already open on my status page?”
“How can I change which components an open incident currently affects?”
Tell an agent
Rename incident {incidentId} on status page {statusPageId} to {name}.
Set incident {incidentId} on page {statusPageId} to name {name} with current impacts {componentImpacts}.
PUT /v3/status-pages/{statusPageId}/incidents/{incidentId}/component-impacts Rewrite an incident's component impact timeline · Replace an incident's component impact timeline #
Ask an LLM
“Can I retroactively correct when each component was impacted during an incident?”
“Is there a way to replace an incident's whole per-component impact history?”
Tell an agent
Replace the impact timeline of incident {incidentId} on page {statusPageId} with {componentImpacts}.
Retroactively set the component windows for incident {incidentId} on status page {statusPageId} to {componentImpacts}.
GET /v3/status-pages/{statusPageId}/incidents/{incidentId}/incident-updates List the updates posted to an incident · List the updates of an incident #
Ask an LLM
“What progress updates have been posted on an incident so far?”
“How many updates does the incident update list return at most?”
Tell an agent
List updates for incident {incidentId} on status page {statusPageId}.
Show the newest-first update history of incident {incidentId} on page {statusPageId}.
POST /v3/status-pages/{statusPageId}/incidents/{incidentId}/incident-updates Post a progress update to an incident · Post an update to an incident #
Ask an LLM
“How do I post a status update to an ongoing incident?”
“Does posting a RESOLVED update close the incident?”
Tell an agent
Post update {description} with status {status} to incident {incidentId} on page {statusPageId}.
Resolve incident {incidentId} on status page {statusPageId} with the note {description} and status {status}.
DELETE /v3/status-pages/{statusPageId}/incidents/{incidentId}/incident-updates/{incidentUpdateId} Delete an incident update · Delete an incident update #
Ask an LLM
“Can I delete one update from an incident's history?”
“Why can't I delete the last remaining update on an incident?”
Tell an agent destructive · confirm first
Delete update {incidentUpdateId} from incident {incidentId} on status page {statusPageId}.
Remove the incident update {incidentUpdateId} posted on incident {incidentId}, page {statusPageId}.
GET /v3/status-pages/{statusPageId}/incidents/{incidentId}/incident-updates/{incidentUpdateId} Get a single incident update · Retrieve an incident update #
Ask an LLM
“What did one specific incident update say?”
“Can I read back a single update I posted to an incident?”
Tell an agent
Show update {incidentUpdateId} of incident {incidentId} on status page {statusPageId}.
Get incident update {incidentUpdateId} from incident {incidentId} on page {statusPageId}.
PUT /v3/status-pages/{statusPageId}/incidents/{incidentId}/incident-updates/{incidentUpdateId} Edit an incident update already posted · Edit an incident update #
Ask an LLM
“Can I fix a typo in an update I already posted to an incident?”
“Is it possible to change the status or public date on an existing incident update?”
Tell an agent
Edit update {incidentUpdateId} on incident {incidentId} (page {statusPageId}) to say {description} with status {status}.
Correct the text of incident update {incidentUpdateId} for incident {incidentId} on {statusPageId} to {description}, keeping status {status}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/checkly:checkly-status-pages-v3-incidents-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

checkly-status-pages-v3-incidents-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Checkly Public Status Pages V3 Incidents API
  version: v1
  description: 'These are the docs for the newly released Checkly Public API.

    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 Pages V3 Incidents
paths:
  /v3/status-pages/{statusPageId}/incidents:
    get:
      summary: List the incidents of a v3 status page
      operationId: listStatusPageV3IncidentsPublic
      description: List the incidents of a v3 status page, most recently updated first.
      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: statusPageId
        in: path
        schema:
          type: string
          x-format:
            guid: true
        required: true
      - name: limit
        in: query
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      - name: nextId
        in: query
        schema:
          type: string
      tags:
      - Status Pages V3 Incidents
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicStatusPageV3IncidentsPaginatedResponse'
        '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'
    post:
      summary: Open an incident on a v3 status page
      operationId: createStatusPageV3IncidentPublic
      description: Open an incident on a v3 status page with its first update and the current status of the impacted components.
      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: statusPageId
        in: path
        schema:
          type: string
          x-format:
            guid: true
        required: true
      tags:
      - Status Pages V3 Incidents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicStatusPageV3IncidentCreate'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicStatusPageV3Incident'
        '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'
  /v3/status-pages/{statusPageId}/incidents/{incidentId}:
    delete:
      summary: Delete an incident of a v3 status page
      operationId: deleteStatusPageV3IncidentPublic
      description: Permanently remove 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: statusPageId
        in: path
        schema:
          type: string
          x-format:
            guid: true
        required: true
      - name: incidentId
        in: path
        schema:
          type: string
          x-format:
            guid: true
        required: true
      tags:
      - Status Pages V3 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'
    get:
      summary: Retrieve an incident of a v3 status page
      operationId: getStatusPageV3IncidentPublic
      description: Get an incident of a v3 status page, including its updates and component impacts.
      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: statusPageId
        in: path
        schema:
          type: string
          x-format:
            guid: true
        required: true
      - name: incidentId
        in: path
        schema:
          type: string
          x-format:
            guid: true
        required: true
      tags:
      - Status Pages V3 Incidents
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicStatusPageV3Incident'
        '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'
    put:
      summary: Update an incident of a v3 status page
      operationId: updateStatusPageV3IncidentPublic
      description: Rename an incident and/or reconcile the current status of its components. Post progress through the incident-updates endpoints.
      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: statusPageId
        in: path
        schema:
          type: string
          x-format:
            guid: true
        required: true
      - name: incidentId
        in: path
        schema:
          type: string
          x-format:
            guid: true
        required: true
      tags:
      - Status Pages V3 Incidents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicStatusPageV3IncidentMutation'
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicStatusPageV3Incident'
        '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'
  /v3/status-pages/{statusPageId}/incidents/{incidentId}/component-impacts:
    put:
      summary: Replace an incident's component impact timeline
      operationId: replaceStatusPageV3IncidentComponentImpactsPublic
      description: Replace the full impact timeline of an incident with explicit per-component windows (retroactive editing).
      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: statusPageId
        in: path
        schema:
          type: string
          x-format:
            guid: true
        required: true
      - name: incidentId
        in: path
        schema:
          type: string
          x-format:
            guid: true
        required: true
      tags:
      - Status Pages V3 Incidents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicStatusPageV3ReplaceComponentImpacts'
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicStatusPageV3Incident'
        '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'
  /v3/status-pages/{statusPageId}/incidents/{incidentId}/incident-updates:
    get:
      summary: List the updates of an incident
      operationId: listStatusPageV3IncidentUpdatesPublic
      description: List the updates of an incident, newest first (at most 100).
      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: statusPageId
        in: path
        schema:
          type: string
          x-format:
            guid: true
        required: true
      - name: incidentId
        in: path
        schema:
          type: string
          x-format:
            guid: true
        required: true
      tags:
      - Status Pages V3 Incidents
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicStatusPageV3IncidentUpdates'
        '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'
    post:
      summary: Post an update to an incident
      operationId: createStatusPageV3IncidentUpdatePublic
      description: Post an update to an incident. A RESOLVED update closes the 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: statusPageId
        in: path
        schema:
          type: string
          x-format:
            guid: true
        required: true
      - name: incidentId
        in: path
        schema:
          type: string
          x-format:
            guid: true
        required: true
      tags:
      - Status Pages V3 Incidents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicStatusPageV3IncidentUpdateMutation'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicStatusPageV3IncidentUpdate'
        '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'
  /v3/status-pages/{statusPageId}/incidents/{incidentId}/incident-updates/{incidentUpdateId}:
    delete:
      summary: Delete an incident update
      operationId: deleteStatusPageV3IncidentUpdatePublic
      description: Delete an incident update. The last remaining update cannot be deleted.
      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: statusPageId
        in: path
        schema:
          type: string
          x-format:
            guid: true
        required: true
      - 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 Pages V3 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'
    get:
      summary: Retrieve an incident update
      operationId: getStatusPageV3IncidentUpdatePublic
      description: Get a single 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: statusPageId
        in: path
        schema:
          type: string
          x-format:
            guid: true
        required: true
      - 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 Pages V3 Incidents
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicStatusPageV3IncidentUpdate'
        '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'
    put:
      summary: Edit an incident update
      operationId: updateStatusPageV3IncidentUpdatePublic
      description: Edit 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: statusPageId
        in: path
        schema:
          type: string
          x-format:
            guid: true
        required: true
      - 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 Pages V3 Incidents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicStatusPageV3IncidentUpdateMutation'
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicStatusPageV3IncidentUpdate'
        '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'
components:
  schemas:
    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
    Model92:
      type: string
      enum:
      - OPERATIONAL
      - UNDER_MAINTENANCE
      - DEGRADED_PERFORMANCE
      - PARTIAL_OUTAGE
      - MAJOR_OUTAGE
    PublicStatusPageV3ComponentImpactsResponse:
      type: array
      items:
        $ref: '#/components/schemas/PublicStatusPageV3ComponentImpactResponse'
    PublicStatusPageV3IncidentUpdates:
      type: array
      items:
        $ref: '#/components/schemas/PublicStatusPageV3IncidentUpdate'
    Model4:
      type: string
      enum:
      - Not Found
    PublicStatusPageV3IncidentsPaginatedResponse:
      type: object
      properties:
        length:
          type: integer
        entries:
          $ref: '#/components/schemas/PublicStatusPageV3IncidentsEntries'
        nextId:
          type:
          - string
          - 'null'
      required:
      - length
      - entries
    PublicStatusPageV3IncidentListItem:
      type: object
      properties:
        id:
          type: string
          x-format:
            guid: true
        statusPageId:
          type: string
          x-format:
            guid: true
        name:
          type: string
        lastUpdateStatus:
          $ref: '#/components/schemas/PublicStatusPageV3IncidentStatus'
        duration:
          type:
          - integer
          - 'null'
          description: Seconds from the first update to the resolving update; null while ongoing.
        componentImpacts:
          $ref: '#/components/schemas/PublicStatusPageV3ComponentImpactsResponse'
        created_at:
          type: string
          format: date
        updated_at:
          type:
          - string
          - 'null'
          format: date
      required:
      - id
      - statusPageId
      - name
      - lastUpdateStatus
      - created_at
    Model94:
      type: string
      enum:
      - UNDER_MAINTENANCE
      - DEGRADED_PERFORMANCE
      - PARTIAL_OUTAGE
      - MAJOR_OUTAGE
    PublicStatusPageV3IncidentUpdate:
      type: object
      properties:
        description:
          type: string
        status:
          $ref: '#/components/schemas/PublicStatusPageV3IncidentStatus'
        publicIncidentUpdateDate:
          type: string
          format: date-time
          description: When the update is shown as posted. Defaults to now; cannot predate the incident.
          default: '2026-08-29T08:22:09.939Z'
        notifySubscribers:
          type: boolean
          default: false
        id:
          type: string
          x-format:
            guid: true
        created_at:
          type: string
          format: date
      required:
      - description
      - status
      - id
      - created_at
    ForbiddenError:
      type: object
      properties:
        statusCode:
          type: number
          enum:
          - 403
        error:
          $ref: '#/components/schemas/Model1'
        message:
          type: string
          example: Forbidden
      required:
      - statusCode
      - error
    attributes:
      type: object
    Model93:
      type: string
      enum:
      - OPERATIONAL
      - UNDER_MAINTENANCE
      - DEGRADED_PERFORMANCE
      - PARTIAL_OUTAGE
      - MAJOR_OUTAGE
    PublicStatusPageV3IncidentUpdateMutation:
      type: object
      properties:
        description:
          type: string
        status:
          $ref: '#/components/schemas/PublicStatusPageV3IncidentStatus'
        publicIncidentUpdateDate:
          type: string
          format: date-time
          description: When the update is shown as posted. Defaults to now; cannot predate the incident.
          default: '2026-08-29T08:22:09.928Z'
        notifySubscribers:
          type: boolean
          default: false
      required:
      - description
      - status
    PublicStatusPageV3ComponentImpactWindow:
      type: object
      properties:
        componentId:
          type: string
          x-format:
            guid: true
        status:
          $ref: '#/components/schemas/Model94'
        startedAt:
          type: string
          format: date-time
        endedAt:
          type:
          - string
          - 'null'
          format: date-time
          description: null keeps the window open (active incidents only).
      required:
      - componentId
      - status
      - startedAt
      - endedAt
    PublicStatusPageV3IncidentMutation:
      type: object
      properties:
        name:
          type: string
          maxLength: 255
        componentImpacts:
          $ref: '#/components/schemas/PublicStatusPageV3ComponentImpacts'
      required:
      - name
    Model2:
      type: string
      enum:
      - Too Many Requests
    PublicStatusPageV3ComponentImpactResponse:
      type: object
      properties:
        componentId:
          type: string
          x-format:
            guid: true
        status:
          $ref: '#/components/schemas/Model92'
        startedAt:
          type: string
          format: date
        endedAt:
          type:
          - string
          - 'null'
          format: date
      required:
      - componentId
      - status
      - startedAt
    PublicStatusPageV3IncidentUpdatesResponse:
      type: array
      items:
        $ref: '#/components/schemas/PublicStatusPageV3IncidentUpdate'
    PublicStatusPageV3ComponentImpact:
      type: object
      properties:
        componentId:
          type: string
          x-format:
            guid: true
        status:
          $ref: '#/components/schemas/Model93'
      required:
      - componentId
      - status
    PublicStatusPageV3ReplaceComponentImpacts:
      type: object
      properties:
        componentImpacts:
          $ref: '#/components/schemas/PublicStatusPageV3ComponentImpactWindows'
      required:
      - componentImpacts
    error:
      type: string
      enum:
      - Unauthorized
    PublicStatusPageV3IncidentsEntries:
      type: array
      items:
        $ref: '#/components/schemas/PublicStatusPageV3IncidentListItem'
    PublicStatusPageV3ComponentImpacts:
      type: array
      description: The current status of each impacted component. Omitted components are OPERATIONAL.
      items:
        $ref: '#/components/schemas/PublicStatusPageV3ComponentImpact'
    NotFoundError:
      type: object
      properties:
        statusCode:
          type: number
          enum:
          - 404
        error:
          $ref: '#/components/schemas/Model4'
        message:
          type: string
          example: Not Found
      required:
      - statusCode
      - error
    PublicStatusPageV3IncidentStatus:
      type: string
      enum:
      - INVESTIGATING
      - IDENTIFIED
      - MONITORING
      - RESOLVED
    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
    PublicStatusPageV3IncidentCreateUpdates:
      type: array
      description: 'Exactly one update: the one that opens the incident.'
      x-constraint:
        length: 1
      items:
        $ref: '#/components/schemas/PublicStatusPageV3IncidentUpdateMutation'
    PublicStatusPageV3ComponentImpactWindows:
      type: array
      items:
        $ref: '#/components/schemas/PublicStatusPageV3ComponentImpactWindow'
    PublicStatusPageV3IncidentCreate:
      type: object
      properties:
        name:
          type: string
          maxLength: 255
        componentImpacts:
          $ref: '#/components/schemas/PublicStatusPageV3ComponentImpacts'
        incidentUpdates:
          $ref: '#/components/schemas/PublicStatusPageV3IncidentCreateUpdates'
      required:
      - name
      - incidentUpdates
    PublicStatusPageV3Incident:
      type: object
      properties:
        id:
          type: string
          x-format:
            guid: true
        statusPageId:
          type: string
          x-format:
            guid: true
        name:
          type: string
        lastUpdateStatus:
          $ref: '#/components/schemas/PublicStatusPageV3IncidentStatus'
        duration:
          type:
          - integer
          - 'null'
          description: Seconds from the first update to the resolving update; null while ongoing.
        componentImpacts:
          $ref: '#/components/schemas/PublicStatusPageV3ComponentImpactsResponse'
        created_at:
          type: string
          format: date
        updated_at:
          type:
          - string
          - 'null'
          format: date
        incidentUpdates:
          $ref: '#/components/schemas/PublicStatusPageV3IncidentUpdatesResponse'
      required:
      - id
      - statusPageId
      - name
      - lastUpdateStatus
      - created_at
      - incidentUpdates
    Model1:
      type: string
      enum:
      - Forbidden
  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>'