openapi: 3.0.3 info: title: Cronitor Groups and Notifications Cronitor Telemetry API P API description: The Groups API manages logical groupings of monitors for bulk operations and reporting. The Notifications API manages notification lists (alert routing) that specify where alerts are sent when monitors fire. Both APIs use HTTP Basic Auth with a Cronitor API key. version: v1 contact: name: Cronitor Support url: https://cronitor.io/docs/groups-api license: name: Proprietary url: https://cronitor.io servers: - url: https://cronitor.io description: Cronitor production server security: - basicAuth: [] tags: - name: P paths: /p/{apiKey}/{monitorKey}: parameters: - name: apiKey in: path required: true schema: type: string description: Cronitor API key with monitor:telemetry permission. - name: monitorKey in: path required: true schema: type: string description: Unique monitor key to send the event to. get: operationId: sendTelemetryEventGet summary: Send a telemetry event (GET) description: Records a job execution event. Use query parameters to specify the state and optional metadata. parameters: - name: state in: query required: true schema: type: string enum: - run - complete - fail - ok description: Job execution state. - name: env in: query schema: type: string description: Environment identifier (e.g. staging, production). - name: host in: query schema: type: string description: Server hostname. - name: message in: query schema: type: string maxLength: 2000 description: URL-encoded status message. - name: metric in: query schema: type: string description: Metric value in format count:N, duration:N (seconds), or error_count:N. example: duration:45.2 - name: series in: query schema: type: string description: Unique ID for correlating related events. - name: status_code in: query schema: type: integer description: Job exit code. responses: '200': description: Event recorded. '429': description: Rate limit exceeded. Per-endpoint limit is 5 req/s (burst 10); per-IP limit is 50 req/s (burst 250). tags: - P post: operationId: sendTelemetryEventPost summary: Send a telemetry event (POST) description: Records a job execution event via POST. The request body is discarded; use query parameters for all event data. parameters: - name: state in: query required: true schema: type: string enum: - run - complete - fail - ok - name: env in: query schema: type: string - name: host in: query schema: type: string - name: message in: query schema: type: string maxLength: 2000 - name: metric in: query schema: type: string - name: series in: query schema: type: string - name: status_code in: query schema: type: integer requestBody: required: false content: application/json: schema: type: object description: Body is accepted but discarded. responses: '200': description: Event recorded. '429': description: Rate limit exceeded. tags: - P head: operationId: sendTelemetryEventHead summary: Send a telemetry event (HEAD) description: Records a job execution event via HEAD request. Useful for minimal- overhead pings. parameters: - name: state in: query required: true schema: type: string enum: - run - complete - fail - ok - name: env in: query schema: type: string - name: message in: query schema: type: string maxLength: 2000 - name: metric in: query schema: type: string - name: series in: query schema: type: string - name: status_code in: query schema: type: integer responses: '200': description: Event recorded. '429': description: Rate limit exceeded. tags: - P components: securitySchemes: basicAuth: type: http scheme: basic description: Use your Cronitor API key as the username; leave the password blank.