openapi: 3.0.3 info: title: Axiom Annotations Monitors API description: 'Axiom is a log management, event data, and observability platform. This OpenAPI document describes Axiom''s public REST API, which ingests logs, traces, and events into datasets and queries them with the Axiom Processing Language (APL). Axiom exposes two endpoint families: the v1 family (datasets, ingest, APL query, fields, current user) and the v2 family (annotations, monitors, notifiers, dashboards, virtual fields, starred queries, tokens, users). The default base domain is https://api.axiom.co for the US region; EU organizations use https://api.eu.axiom.co. All requests authenticate with a Bearer token (an API token or a Personal Access Token). Personal Access Tokens additionally require an x-axiom-org-id header. Endpoints marked x-endpoint-status "confirmed" were verified against Axiom''s published API reference; those marked "modeled" are represented from the documentation index and reference conventions and should be reconciled against the live reference.' version: '1.0' contact: name: Axiom url: https://axiom.co license: name: Proprietary url: https://axiom.co/terms servers: - url: https://api.axiom.co description: US region (default) - url: https://api.eu.axiom.co description: EU region security: - bearerAuth: [] tags: - name: Monitors description: APL-backed alert monitors. paths: /v2/monitors: get: operationId: getMonitors tags: - Monitors summary: List monitors description: List all configured monitors. x-endpoint-status: confirmed responses: '200': description: A list of monitors. content: application/json: schema: type: array items: $ref: '#/components/schemas/Monitor' '403': $ref: '#/components/responses/Forbidden' post: operationId: createMonitor tags: - Monitors summary: Create a monitor description: Create an APL-backed threshold or match monitor. x-endpoint-status: modeled requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Monitor' responses: '200': description: The created monitor. content: application/json: schema: $ref: '#/components/schemas/Monitor' '403': $ref: '#/components/responses/Forbidden' /v2/monitors/{id}: parameters: - $ref: '#/components/parameters/ResourceId' get: operationId: getMonitor tags: - Monitors summary: Get a monitor x-endpoint-status: modeled responses: '200': description: The requested monitor. content: application/json: schema: $ref: '#/components/schemas/Monitor' '403': $ref: '#/components/responses/Forbidden' put: operationId: updateMonitor tags: - Monitors summary: Update a monitor x-endpoint-status: modeled requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Monitor' responses: '200': description: The updated monitor. content: application/json: schema: $ref: '#/components/schemas/Monitor' '403': $ref: '#/components/responses/Forbidden' delete: operationId: deleteMonitor tags: - Monitors summary: Delete a monitor x-endpoint-status: modeled responses: '204': description: The monitor was deleted. '403': $ref: '#/components/responses/Forbidden' /v2/monitors/{id}/history: parameters: - $ref: '#/components/parameters/ResourceId' get: operationId: getMonitorHistory tags: - Monitors summary: Get monitor run history description: Retrieve the run/evaluation history of a monitor. x-endpoint-status: modeled responses: '200': description: Monitor history entries. content: application/json: schema: type: array items: type: object additionalProperties: true '403': $ref: '#/components/responses/Forbidden' components: schemas: Monitor: type: object properties: id: type: string name: type: string description: type: string type: type: string description: Monitor type, e.g. Threshold or MatchEvent. aplQuery: type: string threshold: type: number operator: type: string intervalMinutes: type: integer notifierIds: type: array items: type: string disabled: type: boolean Error: type: object properties: message: type: string example: rate limit exceeded parameters: ResourceId: name: id in: path required: true schema: type: string description: The resource ID. responses: Forbidden: description: Authentication failed or the token lacks the required scope. content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: bearerAuth: type: http scheme: bearer description: Bearer token authentication using an Axiom API token or Personal Access Token (PAT). PAT-authenticated requests must also send the x-axiom-org-id header.