Agenta Open Telemetry API

OTLP-compatible endpoints for ingesting traces directly from OpenTelemetry-instrumented services.

Operations 2

GET /otlp/v1/traces Status check for OTLP #
POST /otlp/v1/traces Ingest traces via OTLP #

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/agenta:agenta-open-telemetry-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

agenta-open-telemetry-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Agenta Open Telemetry API
  description: Agenta API
  contact:
    name: Agenta
    url: https://agenta.ai/
    email: team@agenta.ai
  version: 0.1.0
servers:
- url: /api
- url: https://eu.cloud.agenta.ai/api
security:
- APIKeyHeader: []
tags:
- name: Open Telemetry
  description: OTLP-compatible endpoints for ingesting traces directly from OpenTelemetry-instrumented services.
paths:
  /otlp/v1/traces:
    get:
      tags:
      - Open Telemetry
      summary: Status check for OTLP
      description: 'Return the OTLP endpoint liveness status.


        Lightweight readiness probe. Returns `{"status": "ready"}` when

        the router is mounted. Intended for health checks from OTel

        collectors before they start exporting traces.'
      operationId: otlp_status
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectStatusResponse'
    post:
      tags:
      - Open Telemetry
      summary: Ingest traces via OTLP
      description: 'Ingest traces via the OTLP/HTTP protobuf protocol.


        This endpoint accepts a serialized

        `ExportTraceServiceRequest` protobuf. Point any OTLP/HTTP

        collector or SDK at `POST /otlp/v1/traces` and spans will flow

        into the same ingest stream as the Agenta-native endpoints.


        Use this when you already have OTel instrumentation emitting

        OTLP. For new integrations that don''t need raw OTLP, prefer

        `POST /tracing/spans/ingest` — it takes JSON, accepts Agenta''s

        nested shape directly, and surfaces parse failures immediately.


        ## Content-Type and size limit


        Binary protobuf only (`Content-Type: application/x-protobuf`).

        JSON OTLP is not accepted. Requests larger than the configured

        batch limit (default 10 MB, see `AGENTA_OTLP_MAX_BATCH_BYTES`) return

        `413 Request Entity Too Large`.


        ## Response


        Successful ingest returns `200 OK` with a serialized

        `ExportTraceServiceResponse` protobuf. Parse failures on the

        request body return `400`; malformed spans return `500`; quota

        exhaustion returns `403`. Like the native ingest paths, spans

        are queued on a Redis stream and persisted asynchronously — see

        Tracing — Async write

        contract.'
      operationId: otlp_ingest
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectStatusResponse'
components:
  schemas:
    CollectStatusResponse:
      properties:
        status:
          type: string
          title: Status
          description: Readiness string. `ready` means the router is mounted and accepts OTLP ingest.
      type: object
      required:
      - status
      title: CollectStatusResponse
      description: OTLP endpoint readiness response.
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      name: Authorization
      in: header