openapi: 3.2.0 info: title: Checkly Public Rocky AI 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: Rocky AI paths: /v1/root-cause-analyses/error-groups/{errorGroupId}: post: summary: Generate a Root Cause Analysis for a check error group operationId: postV1RootcauseanalysesErrorgroupsErrorgroupid description: Asynchronously generates a root cause analysis for a specific check error group. Returns an `id` which you can use to poll the `/root-cause-analyses/{id}` endpoint. 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: errorGroupId in: path schema: type: string x-format: guid: true required: true tags: - Rocky AI requestBody: content: application/json: schema: $ref: '#/components/schemas/PostRcaErrorGroup' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/Model67' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '402': description: Payment Required content: application/json: schema: $ref: '#/components/schemas/PaymentRequiredError' '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' /v1/root-cause-analyses/test-session-error-groups/{testSessionErrorGroupId}: post: summary: Generate a Root Cause Analysis for a test session error group operationId: postV1RootcauseanalysesTestsessionerrorgroupsTestsessionerrorgroupid description: Asynchronously generates a root cause analysis for a specific test session error group. Returns an `id` which you can use to poll the `/root-cause-analyses/{id}` endpoint. 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: testSessionErrorGroupId in: path schema: type: string x-format: guid: true required: true tags: - Rocky AI requestBody: content: application/json: schema: $ref: '#/components/schemas/PostRcaErrorGroup' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/PostRcaTestSessionErrorGroup' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' '402': description: Payment Required content: application/json: schema: $ref: '#/components/schemas/PaymentRequiredError' '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' /v1/root-cause-analyses/{id}: get: summary: Retrieve a Root Cause Analysis operationId: getV1RootcauseanalysesId description: Retrieves a specific root cause analysis. Use the `id` returned from either POST endpoint and poll until the response is HTTP 200. While the analysis is being generated the endpoint returns HTTP 202 with `{"id":"","status":"PENDING"}`. A genuine HTTP 404 means the ID does not exist. Works for both check error group and test session error group analyses. 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: id in: path schema: type: string x-format: guid: true required: true tags: - Rocky AI responses: '200': description: Successful content: application/json: schema: $ref: '#/components/schemas/GetRca' '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/GetRcaPending' '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 Model70: type: object properties: artifacts: $ref: '#/components/schemas/artifacts' description: type: string description: Explanation of how this evidence support the root cause analysis required: - artifacts - description Model2: type: string enum: - Too Many Requests Model68: type: string enum: - PENDING Model72: type: string enum: - COMPLETED 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 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 Model69: type: object properties: name: type: string description: Identifier of the artifact, e.g. "HTTP_REQUEST" or "TIMING_PHASES" type: type: string description: Category of the artifact, e.g. "REQUEST", "TIMINGS", or "TRACE" required: - name - type PaymentRequiredError: type: object properties: statusCode: type: number enum: - 402 error: $ref: '#/components/schemas/Model3' message: type: string example: Payment Required attributes: $ref: '#/components/schemas/attributes' required: - statusCode - error GetRca: type: object properties: id: type: string x-format: guid: true checkType: type: string description: Type of check that triggered this analysis, e.g. "API" or "BROWSER" provider: type: string description: AI provider used for the analysis model: type: string description: AI model used for the analysis checkId: type: - string - 'null' x-format: guid: true errorGroupId: type: - string - 'null' x-format: guid: true durationMs: type: number description: Time taken to generate the analysis in milliseconds analysis: $ref: '#/components/schemas/analysis' status: $ref: '#/components/schemas/Model72' created_at: type: string format: date required: - id - checkType - provider - model - durationMs - status Model67: type: object properties: id: type: string x-format: guid: true status: $ref: '#/components/schemas/Model66' required: - id - status GetRcaPending: type: object properties: id: type: string x-format: guid: true status: $ref: '#/components/schemas/Model73' required: - id - status referenceLinks: type: - array - 'null' description: Links to relevant documentation or external resources items: $ref: '#/components/schemas/Model71' Model66: type: string enum: - PENDING PostRcaErrorGroup: type: - object - 'null' properties: userContext: type: - string - 'null' description: Optional user defined context to provide extra details useful for the user impact and root cause analysis. default: '' maxLength: 256 ForbiddenError: type: object properties: statusCode: type: number enum: - 403 error: $ref: '#/components/schemas/Model1' message: type: string example: Forbidden required: - statusCode - error analysis: type: object properties: classification: type: string description: High-level error categorization. e.g. "INFRA ERROR" userImpact: type: string description: Human-readable summary of how this failure affects end users rootCause: type: string description: Explanation of the underlying cause of the failure codeFix: type: - string - 'null' description: Suggested code or configuration change to resolve the issue evidence: $ref: '#/components/schemas/evidence' referenceLinks: $ref: '#/components/schemas/referenceLinks' required: - classification - userImpact - rootCause Model71: type: object properties: url: type: string description: URL of the reference resource x-format: uri: true title: type: string description: Display title for the link required: - url - title PostRcaTestSessionErrorGroup: type: object properties: id: type: string x-format: guid: true status: $ref: '#/components/schemas/Model68' required: - id - status Model3: type: string enum: - Payment Required 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 artifacts: type: array description: Artifacts referenced by this piece of evidence items: $ref: '#/components/schemas/Model69' Model4: type: string enum: - Not Found evidence: type: - array - 'null' description: Supporting evidence derived from check result artifacts items: $ref: '#/components/schemas/Model70' Model1: type: string enum: - Forbidden Model73: type: string enum: - PENDING 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]"
'