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.

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