openapi: 3.0.3 info: title: Axiom Annotations Ingest 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: Ingest description: Send logs, traces, and events into a dataset. paths: /v1/datasets/{id}/ingest: parameters: - $ref: '#/components/parameters/DatasetId' post: operationId: ingestIntoDataset tags: - Ingest summary: Ingest data into a dataset description: Send events into a dataset. Accepts a JSON array of event objects (application/json), newline-delimited JSON (application/x-ndjson), or CSV (text/csv). Optional query parameters control timestamp parsing. x-endpoint-status: confirmed parameters: - name: timestamp-field in: query required: false schema: type: string description: Name of the field holding the event timestamp. - name: timestamp-format in: query required: false schema: type: string description: Format of the timestamp field. - name: Content-Encoding in: header required: false schema: type: string enum: - gzip - zstd description: Optional compression of the request body. requestBody: required: true content: application/json: schema: type: array items: type: object additionalProperties: true application/x-ndjson: schema: type: string text/csv: schema: type: string responses: '200': description: Ingest status summary. content: application/json: schema: $ref: '#/components/schemas/IngestStatus' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/RateLimited' components: responses: RateLimited: description: Rate limit exceeded. headers: X-RateLimit-Scope: schema: type: string description: Whether the limit is applied at the user or organization scope. X-RateLimit-Limit: schema: type: integer description: Maximum requests allowed in the current window. X-RateLimit-Remaining: schema: type: integer description: Requests remaining in the current window. X-RateLimit-Reset: schema: type: integer description: UTC epoch seconds when the window resets. content: application/json: schema: $ref: '#/components/schemas/Error' Forbidden: description: Authentication failed or the token lacks the required scope. content: application/json: schema: $ref: '#/components/schemas/Error' schemas: IngestStatus: type: object properties: ingested: type: integer failed: type: integer processedBytes: type: integer blocksCreated: type: integer walLength: type: integer failures: type: array items: type: object additionalProperties: true Error: type: object properties: message: type: string example: rate limit exceeded parameters: DatasetId: name: id in: path required: true schema: type: string description: The dataset ID or name. 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.