Axiom Annotations API

Mark deployments, incidents, and events on charts.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/axiom-co-annotations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

axiom-co-annotations-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Axiom Annotations 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: Annotations
  description: Mark deployments, incidents, and events on charts.
paths:
  /v2/annotations:
    get:
      operationId: getAnnotations
      tags:
      - Annotations
      summary: List annotations
      description: List annotations, optionally filtered by dataset names and a start/end time range.
      x-endpoint-status: confirmed
      parameters:
      - name: datasets
        in: query
        required: false
        schema:
          type: string
        description: Comma-separated dataset names to filter by.
      - name: start
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: end
        in: query
        required: false
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: A list of annotations.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Annotation'
        '403':
          $ref: '#/components/responses/Forbidden'
    post:
      operationId: createAnnotation
      tags:
      - Annotations
      summary: Create an annotation
      description: Create an annotation scoped to one or more datasets and a time.
      x-endpoint-status: confirmed
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Annotation'
      responses:
        '200':
          description: The created annotation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Annotation'
        '403':
          $ref: '#/components/responses/Forbidden'
  /v2/annotations/{id}:
    parameters:
    - $ref: '#/components/parameters/ResourceId'
    get:
      operationId: getAnnotation
      tags:
      - Annotations
      summary: Get an annotation
      x-endpoint-status: modeled
      responses:
        '200':
          description: The requested annotation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Annotation'
        '403':
          $ref: '#/components/responses/Forbidden'
    put:
      operationId: updateAnnotation
      tags:
      - Annotations
      summary: Update an annotation
      x-endpoint-status: modeled
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Annotation'
      responses:
        '200':
          description: The updated annotation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Annotation'
        '403':
          $ref: '#/components/responses/Forbidden'
    delete:
      operationId: deleteAnnotation
      tags:
      - Annotations
      summary: Delete an annotation
      x-endpoint-status: modeled
      responses:
        '204':
          description: The annotation was deleted.
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  schemas:
    Annotation:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
        datasets:
          type: array
          items:
            type: string
        title:
          type: string
        description:
          type: string
        url:
          type: string
        time:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
    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.