openapi: 3.2.0 info: title: Checkly Public Status Pages V3 Components 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 Components paths: /v3/status-pages/{statusPageId}/components: get: summary: List the components of a v3 status page. operationId: listStatusPageV3ComponentsPublic description: List the components of a v3 status page in display order. 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 Components responses: '200': description: Successful content: application/json: schema: $ref: '#/components/schemas/PublicStatusPageV3ComponentsPaginatedResponse' '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: Create a component on a v3 status page. operationId: createStatusPageV3ComponentPublic description: Add a SERVICE or GROUP component to a v3 status page. Nest it under a GROUP via parentId. 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 Components requestBody: content: application/json: schema: $ref: '#/components/schemas/PublicStatusPageV3ComponentMutation' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/PublicStatusPageV3Component' '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}/components/{componentId}: delete: summary: Delete a component of a v3 status page. operationId: deleteStatusPageV3ComponentPublic description: Delete a component. Child components are detached from it, not 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: componentId in: path schema: type: string x-format: guid: true required: true tags: - Status Pages V3 Components 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 a single component of a v3 status page. operationId: getStatusPageV3ComponentPublic description: Get a single component of a v3 status page. 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: componentId in: path schema: type: string x-format: guid: true required: true tags: - Status Pages V3 Components responses: '200': description: Successful content: application/json: schema: $ref: '#/components/schemas/PublicStatusPageV3Component' '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 a component of a v3 status page. operationId: updateStatusPageV3ComponentPublic description: 'Update a component. This is a full replacement: omitted optional fields are reset.' 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: componentId in: path schema: type: string x-format: guid: true required: true tags: - Status Pages V3 Components requestBody: content: application/json: schema: $ref: '#/components/schemas/PublicStatusPageV3ComponentMutation' responses: '200': description: Successful content: application/json: schema: $ref: '#/components/schemas/PublicStatusPageV3Component' '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: attributes: type: object PublicStatusPageV3Component: type: object properties: type: $ref: '#/components/schemas/Model90' name: type: string description: type: - string - 'null' displayOrder: type: integer hidden: type: boolean parentId: type: - string - 'null' description: The GROUP component this component sits under. Must belong to the same status page. x-format: guid: true id: type: string x-format: guid: true statusPageId: type: string x-format: guid: true created_at: type: string format: date updated_at: type: - string - 'null' format: date required: - name - displayOrder - id - statusPageId - created_at error: type: string enum: - Unauthorized PublicStatusPageV3ComponentMutation: type: object properties: type: $ref: '#/components/schemas/Model91' name: type: string description: type: - string - 'null' displayOrder: type: integer hidden: type: boolean parentId: type: - string - 'null' description: The GROUP component this component sits under. Must belong to the same status page. x-format: guid: true required: - name - displayOrder ForbiddenError: type: object properties: statusCode: type: number enum: - 403 error: $ref: '#/components/schemas/Model1' message: type: string example: Forbidden required: - statusCode - error Model4: type: string enum: - Not Found PublicStatusPageV3ComponentsEntries: type: array items: $ref: '#/components/schemas/PublicStatusPageV3Component' 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 Model1: type: string enum: - Forbidden Model90: type: string default: SERVICE enum: - SERVICE - GROUP 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 PublicStatusPageV3ComponentsPaginatedResponse: type: object properties: length: type: integer entries: $ref: '#/components/schemas/PublicStatusPageV3ComponentsEntries' nextId: type: - string - 'null' required: - length - entries NotFoundError: type: object properties: statusCode: type: number enum: - 404 error: $ref: '#/components/schemas/Model4' message: type: string example: Not Found required: - statusCode - error Model91: type: string default: SERVICE enum: - SERVICE - GROUP 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.
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]"
'