> ## Documentation Index
> Fetch the complete documentation index at: https://checkly-422f444a-mintlify-f27640bd.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve all status pages.

> Get all status pages for an account.



## OpenAPI

````yaml get /v1/status-pages
openapi: 3.0.0
info:
  title: Checkly Public 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: []
paths:
  /v1/status-pages:
    get:
      tags:
        - Status Pages
      summary: Retrieve all status pages.
      description: Get all status pages for an account.
      operationId: getV1Statuspages
      parameters:
        - name: x-checkly-account
          in: header
          schema:
            type: string
            x-format:
              guid: true
            description: >-
              Your Checkly account ID, you can find it at
              https://app.checklyhq.com/settings/account/general
          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
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusPagesV2PaginatedResponse'
        '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:
    StatusPagesV2PaginatedResponse:
      type: object
      properties:
        length:
          type: integer
        entries:
          $ref: '#/components/schemas/StatusPagesV2Entries'
        nextId:
          type: string
          nullable: true
      required:
        - length
        - entries
    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
    ForbiddenError:
      type: object
      properties:
        statusCode:
          type: number
          enum:
            - 403
        error:
          $ref: '#/components/schemas/Model1'
        message:
          type: string
          example: Forbidden
      required:
        - statusCode
        - error
    NotFoundError:
      type: object
      properties:
        statusCode:
          type: number
          enum:
            - 404
        error:
          $ref: '#/components/schemas/Model4'
        message:
          type: string
          example: Not Found
      required:
        - statusCode
        - error
    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
    StatusPagesV2Entries:
      type: array
      items:
        $ref: '#/components/schemas/StatusPageV2Read'
    error:
      type: string
      enum:
        - Unauthorized
    attributes:
      type: object
    Model1:
      type: string
      enum:
        - Forbidden
    Model4:
      type: string
      enum:
        - Not Found
    Model2:
      type: string
      enum:
        - Too Many Requests
    StatusPageV2Read:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
          nullable: true
          maxLength: 500
        url:
          type: string
          x-convert:
            case: lower
        customDomain:
          type: string
          description: >-
            A custom user domain, e.g. "status.example.com". See the docs on
            updating your DNS and SSL usage.
          nullable: true
          x-convert:
            case: lower
        themeColors:
          $ref: '#/components/schemas/StatusPageV2ThemeColors'
        logo:
          type: string
          nullable: true
          x-format:
            uri:
              scheme:
                - http
                - https
        logoDark:
          type: string
          nullable: true
          x-format:
            uri:
              scheme:
                - http
                - https
        redirectTo:
          type: string
          nullable: true
          x-format:
            uri:
              scheme:
                - http
                - https
        favicon:
          type: string
          nullable: true
          x-format:
            uri:
              scheme:
                - http
                - https
        defaultTheme:
          $ref: '#/components/schemas/defaultTheme'
        cards:
          $ref: '#/components/schemas/StatusPageV2Cards'
        version:
          type: number
          nullable: true
        id:
          type: string
          x-format:
            guid: true
        accountId:
          type: string
          x-format:
            guid: true
        created_at:
          type: string
          format: date
        updated_at:
          type: string
          format: date
          nullable: true
        incidents:
          $ref: '#/components/schemas/StatusPageV2Incidents'
        isPrivate:
          type: boolean
          default: false
        keys:
          $ref: '#/components/schemas/Model75'
        projectBindings:
          $ref: '#/components/schemas/ProjectBindingsV1'
      required:
        - name
        - url
        - id
        - accountId
        - created_at
    StatusPageV2ThemeColors:
      type: object
      nullable: true
      properties:
        light:
          $ref: '#/components/schemas/StatusPageThemeColors'
        dark:
          $ref: '#/components/schemas/StatusPageThemeColors'
      required:
        - light
        - dark
    defaultTheme:
      type: string
      default: AUTO
      enum:
        - LIGHT
        - DARK
        - AUTO
    StatusPageV2Cards:
      type: array
      items:
        $ref: '#/components/schemas/StatusPageV2Card'
    StatusPageV2Incidents:
      type: array
      items:
        $ref: '#/components/schemas/StatusPageV2IncidentServices'
    Model75:
      type: array
      items:
        $ref: '#/components/schemas/Model74'
    ProjectBindingsV1:
      type: object
      description: >-
        The Checkly CLI projects that manage this resource. `owner` is null and
        `references` empty when the resource is not managed by code.
      properties:
        owner:
          $ref: '#/components/schemas/ProjectBindingOwnerV1'
        references:
          $ref: '#/components/schemas/ProjectBindingReferencesV1'
      required:
        - owner
        - references
    StatusPageThemeColors:
      type: object
      properties:
        bodyBackgroundColor:
          type: string
          pattern: ^#([0-9A-F]{3}|[0-9A-F]{6})$
        headerBackgroundColor:
          type: string
          pattern: ^#([0-9A-F]{3}|[0-9A-F]{6})$
        headerFontColor:
          type: string
          pattern: ^#([0-9A-F]{3}|[0-9A-F]{6})$
        titleFontColor:
          type: string
          pattern: ^#([0-9A-F]{3}|[0-9A-F]{6})$
        bodyFontColor:
          type: string
          pattern: ^#([0-9A-F]{3}|[0-9A-F]{6})$
        bodyFontColorMuted:
          type: string
          pattern: ^#([0-9A-F]{3}|[0-9A-F]{6})$
        navigationFontColor:
          type: string
          pattern: ^#([0-9A-F]{3}|[0-9A-F]{6})$
        linkFontColor:
          type: string
          pattern: ^#([0-9A-F]{3}|[0-9A-F]{6})$
        cardBackgroundColor:
          type: string
          pattern: ^#([0-9A-F]{3}|[0-9A-F]{6})$
        borderColor:
          type: string
          pattern: ^#([0-9A-F]{3}|[0-9A-F]{6})$
        primaryButtonBackgroundColor:
          type: string
          pattern: ^#([0-9A-F]{3}|[0-9A-F]{6})$
        primaryButtonFontColor:
          type: string
          pattern: ^#([0-9A-F]{3}|[0-9A-F]{6})$
      required:
        - bodyBackgroundColor
        - headerBackgroundColor
        - headerFontColor
        - titleFontColor
        - bodyFontColor
        - bodyFontColorMuted
        - navigationFontColor
        - linkFontColor
        - cardBackgroundColor
        - borderColor
        - primaryButtonBackgroundColor
        - primaryButtonFontColor
    StatusPageV2Card:
      type: object
      properties:
        id:
          type: string
          x-format:
            guid: true
        name:
          type: string
        services:
          $ref: '#/components/schemas/StatusPageV2CardServices'
        created_at:
          type: string
          format: date
        updated_at:
          type: string
          format: date
          nullable: true
      required:
        - id
        - name
        - created_at
    StatusPageV2IncidentServices:
      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
          nullable: true
        created_at:
          type: string
          format: date
        updated_at:
          type: string
          format: date
      required:
        - name
        - severity
        - id
        - services
        - lastUpdateStatus
        - created_at
    Model74:
      type: object
      properties:
        id:
          type: string
          x-format:
            guid: true
        maskedKey:
          type: string
        created_at:
          type: string
          format: date
        updated_at:
          type: string
          format: date
          nullable: true
      required:
        - id
        - maskedKey
        - created_at
    ProjectBindingOwnerV1:
      type: object
      description: >-
        The project that owns this resource — the one whose deploy can delete
        it. Null when no project owns it, including when other projects merely
        reference it. In the rare case that several projects hold an ownership
        record for one resource, this reports the preferred one and the rest are
        omitted.
      nullable: true
      properties:
        project:
          $ref: '#/components/schemas/BindingProjectV1'
        binding:
          $ref: '#/components/schemas/ProjectBindingDetailsV1'
      required:
        - project
        - binding
    ProjectBindingReferencesV1:
      type: array
      description: >-
        Projects that use this resource without owning it; their deploys leave
        it alone. Empty when there are none.
      items:
        $ref: '#/components/schemas/ProjectBindingV1'
    StatusPageV2CardServices:
      type: array
      items:
        $ref: '#/components/schemas/StatusPageV2Service'
    IncidentSeverity:
      type: string
      enum:
        - CRITICAL
        - MAJOR
        - MEDIUM
        - MINOR
    IncidentServices:
      type: array
      items:
        $ref: '#/components/schemas/StatusPageV2Service'
    IncidentUpdates:
      type: array
      items:
        $ref: '#/components/schemas/StatusPageV2IncidentUpdateWithId'
    StatusPageIncidentStatus:
      type: string
      enum:
        - INVESTIGATING
        - IDENTIFIED
        - MONITORING
        - RESOLVED
    BindingProjectV1:
      type: object
      description: The project this binding is to.
      properties:
        id:
          type: string
          description: The ID of the project.
        logicalId:
          type: string
          description: The logical ID of the project, as declared in code.
        name:
          type: string
          description: The name of the project.
      required:
        - id
        - logicalId
        - name
    ProjectBindingDetailsV1:
      type: object
      description: The resource's side of this binding.
      properties:
        logicalId:
          type: string
          description: The resource's logical ID within this project, as declared in code.
          example: homepage-check
        pending:
          type: boolean
          description: >-
            True when the binding is reserved by an import plan that has not
            been deployed yet.
      required:
        - logicalId
        - pending
    ProjectBindingV1:
      type: object
      properties:
        project:
          $ref: '#/components/schemas/BindingProjectV1'
        binding:
          $ref: '#/components/schemas/ProjectBindingDetailsV1'
      required:
        - project
        - binding
    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
          format: date
          nullable: true
      required:
        - name
        - id
        - accountId
        - created_at
    StatusPageV2IncidentUpdateWithId:
      type: object
      properties:
        description:
          type: string
        status:
          $ref: '#/components/schemas/StatusPageIncidentStatus'
        publicIncidentUpdateDate:
          type: string
          format: date-time
          default: '2026-08-14T02:58:42.630Z'
        notifySubscribers:
          type: boolean
          default: false
        id:
          type: string
          x-format:
            guid: true
        created_at:
          type: string
          format: date
      required:
        - description
        - id
        - created_at
  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
        [here](https://app.checklyhq.com/settings/user/api-keys). Your API key
        is like a password: keep it secure!

        Authentication to the API is performed using the Bearer auth method in
        the Authorization header and using the account ID.

        For example, set **Authorization** header while using cURL: `curl -H
        "Authorization: Bearer [apiKey]" "X-Checkly-Account: [accountId]"` 

````