Mezmo Pipeline API

Programmatic CRUD over Mezmo Telemetry Pipelines at api.mezmo.com/v3. Manage pipelines, sources, processors, destinations, deployments, audit events, and health. Backs Terraform, the Mezmo CLI, and the MCP server. 100+ source and destination integrations including OpenTelemetry, Vector, Kafka, S3, Datadog, Splunk, Elastic, Loki, Sumo Logic, New Relic, and Honeycomb.

Mezmo Pipeline API is one of 12 APIs that Mezmo publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 4 machine-runnable capabilities that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include Telemetry Pipeline, Observability, Data Pipeline, and OpenTelemetry. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 4 Naftiko capability specs.

OpenAPI Specification

mezmo-pipeline-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Mezmo Pipeline API
  description: |
    Programmatic CRUD over Mezmo Telemetry Pipelines. Manage pipelines, sources,
    processors, destinations, deployments, audit events, and account-wide
    metrics. Backs the Mezmo CLI, Terraform provider, and MCP server.
  version: 'v3'
  contact:
    name: Mezmo
    url: https://www.mezmo.com/
servers:
- url: https://api.mezmo.com/v3
  description: Production Pipeline API
tags:
- name: Pipelines
- name: Sources
- name: Processors
- name: Destinations
- name: Deployments
- name: Metrics
- name: AuditEvents
security:
- PipelineServiceKey: []
paths:
  /pipelines:
    get:
      tags:
      - Pipelines
      summary: List Pipelines
      operationId: listPipelines
      responses:
        '200':
          description: List of pipelines.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Pipeline'
    post:
      tags:
      - Pipelines
      summary: Create Pipeline
      operationId: createPipeline
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PipelineInput'
      responses:
        '201':
          description: Pipeline created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pipeline'
  /pipelines/{pipelineId}:
    parameters:
    - $ref: '#/components/parameters/PipelineId'
    get:
      tags:
      - Pipelines
      summary: Get Pipeline
      operationId: getPipeline
      responses:
        '200':
          description: Pipeline details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pipeline'
    put:
      tags:
      - Pipelines
      summary: Update Pipeline
      operationId: updatePipeline
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PipelineInput'
      responses:
        '200':
          description: Pipeline updated.
    delete:
      tags:
      - Pipelines
      summary: Delete Pipeline
      operationId: deletePipeline
      responses:
        '204':
          description: Pipeline deleted.
  /pipelines/{pipelineId}/publish:
    parameters:
    - $ref: '#/components/parameters/PipelineId'
    post:
      tags:
      - Deployments
      summary: Publish Pipeline
      operationId: publishPipeline
      responses:
        '200':
          description: Pipeline published to the active deployment.
  /pipelines/{pipelineId}/revert:
    parameters:
    - $ref: '#/components/parameters/PipelineId'
    post:
      tags:
      - Deployments
      summary: Revert Pipeline
      operationId: revertPipeline
      responses:
        '200':
          description: Pipeline reverted to the previously published version.
  /pipelines/{pipelineId}/sources:
    parameters:
    - $ref: '#/components/parameters/PipelineId'
    get:
      tags:
      - Sources
      summary: List Sources
      operationId: listSources
      responses:
        '200':
          description: Sources for the pipeline.
    post:
      tags:
      - Sources
      summary: Create Source
      operationId: createSource
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PipelineNodeInput'
      responses:
        '201':
          description: Source created.
  /pipelines/{pipelineId}/sources/{nodeId}:
    parameters:
    - $ref: '#/components/parameters/PipelineId'
    - $ref: '#/components/parameters/NodeId'
    get:
      tags:
      - Sources
      summary: Get Source
      operationId: getSource
      responses:
        '200':
          description: Source details.
    put:
      tags:
      - Sources
      summary: Update Source
      operationId: updateSource
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PipelineNodeInput'
      responses:
        '200':
          description: Source updated.
    delete:
      tags:
      - Sources
      summary: Delete Source
      operationId: deleteSource
      responses:
        '204':
          description: Source deleted.
  /pipelines/{pipelineId}/processors:
    parameters:
    - $ref: '#/components/parameters/PipelineId'
    get:
      tags:
      - Processors
      summary: List Processors
      operationId: listProcessors
      responses:
        '200':
          description: Processors for the pipeline.
    post:
      tags:
      - Processors
      summary: Create Processor
      operationId: createProcessor
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PipelineNodeInput'
      responses:
        '201':
          description: Processor created.
  /pipelines/{pipelineId}/processors/{nodeId}:
    parameters:
    - $ref: '#/components/parameters/PipelineId'
    - $ref: '#/components/parameters/NodeId'
    get:
      tags:
      - Processors
      summary: Get Processor
      operationId: getProcessor
      responses:
        '200':
          description: Processor details.
    put:
      tags:
      - Processors
      summary: Update Processor
      operationId: updateProcessor
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PipelineNodeInput'
      responses:
        '200':
          description: Processor updated.
    delete:
      tags:
      - Processors
      summary: Delete Processor
      operationId: deleteProcessor
      responses:
        '204':
          description: Processor deleted.
  /pipelines/{pipelineId}/destinations:
    parameters:
    - $ref: '#/components/parameters/PipelineId'
    get:
      tags:
      - Destinations
      summary: List Destinations
      operationId: listDestinations
      responses:
        '200':
          description: Destinations for the pipeline.
    post:
      tags:
      - Destinations
      summary: Create Destination
      operationId: createDestination
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PipelineNodeInput'
      responses:
        '201':
          description: Destination created.
  /pipelines/{pipelineId}/destinations/{nodeId}:
    parameters:
    - $ref: '#/components/parameters/PipelineId'
    - $ref: '#/components/parameters/NodeId'
    get:
      tags:
      - Destinations
      summary: Get Destination
      operationId: getDestination
      responses:
        '200':
          description: Destination details.
    put:
      tags:
      - Destinations
      summary: Update Destination
      operationId: updateDestination
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PipelineNodeInput'
      responses:
        '200':
          description: Destination updated.
    delete:
      tags:
      - Destinations
      summary: Delete Destination
      operationId: deleteDestination
      responses:
        '204':
          description: Destination deleted.
  /pipelines/{pipelineId}/audit:
    parameters:
    - $ref: '#/components/parameters/PipelineId'
    get:
      tags:
      - AuditEvents
      summary: List Audit Events
      operationId: listAuditEvents
      responses:
        '200':
          description: Audit log for the pipeline.
  /pipelines/{pipelineId}/health:
    parameters:
    - $ref: '#/components/parameters/PipelineId'
    get:
      tags:
      - Pipelines
      summary: Get Pipeline Health
      operationId: getPipelineHealth
      responses:
        '200':
          description: Health status of the pipeline.
  /metrics/events:
    get:
      tags:
      - Metrics
      summary: Get Event Metrics
      operationId: getEventMetrics
      parameters:
      - name: pipelineId
        in: query
        schema:
          type: string
      - name: from
        in: query
        schema:
          type: integer
          format: int64
      - name: to
        in: query
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Event rate / volume metrics.
components:
  parameters:
    PipelineId:
      name: pipelineId
      in: path
      required: true
      schema:
        type: string
    NodeId:
      name: nodeId
      in: path
      required: true
      schema:
        type: string
  securitySchemes:
    PipelineServiceKey:
      type: http
      scheme: bearer
      description: 'Authorization: Token {PIPELINE_SERVICE_KEY}'
  schemas:
    PipelineInput:
      type: object
      required:
      - title
      properties:
        title:
          type: string
        description:
          type: string
        sharedSources:
          type: array
          items:
            type: string
    Pipeline:
      allOf:
      - $ref: '#/components/schemas/PipelineInput'
      - type: object
        properties:
          id:
            type: string
          accountId:
            type: string
          createdAt:
            type: string
            format: date-time
          updatedAt:
            type: string
            format: date-time
          status:
            type: string
            enum:
            - draft
            - published
            - errored
    PipelineNodeInput:
      type: object
      required:
      - title
      - type
      properties:
        title:
          type: string
        type:
          type: string
          description: Component type (e.g. http_source, otel_source, s3_destination, datadog_logs_destination, vrl_processor).
        config:
          type: object
          additionalProperties: true
        inputs:
          type: array
          items:
            type: string