Mezmo Edge API

Edge / local deployment surface for Mezmo Pipelines. Manage client configuration, heartbeats, task assignments, and result collection for self-hosted pipeline instances running outside the Mezmo control plane.

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

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

Tagged areas include Edge, Local Deployment, Telemetry Pipeline, and Agents. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

mezmo-edge-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Mezmo Edge API
  description: |
    Edge / local deployment surface for Mezmo Pipelines. Self-hosted pipeline
    instances poll the control plane for configuration, send heartbeats, accept
    tasks, and report results.
  version: 'v3'
servers:
- url: https://api.mezmo.com/v3
tags:
- name: EdgeClients
- name: Heartbeats
- name: Tasks
security:
- PipelineServiceKey: []
paths:
  /edge/clients:
    get:
      tags:
      - EdgeClients
      summary: List Edge Clients
      operationId: listEdgeClients
      responses:
        '200':
          description: Registered edge clients.
    post:
      tags:
      - EdgeClients
      summary: Register Edge Client
      operationId: registerEdgeClient
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EdgeClient'
      responses:
        '201':
          description: Client registered.
  /edge/clients/{clientId}:
    parameters:
    - name: clientId
      in: path
      required: true
      schema:
        type: string
    get:
      tags:
      - EdgeClients
      summary: Get Edge Client
      operationId: getEdgeClient
      responses:
        '200':
          description: Edge client details.
    delete:
      tags:
      - EdgeClients
      summary: Deregister Edge Client
      operationId: deregisterEdgeClient
      responses:
        '204':
          description: Client deregistered.
  /edge/clients/{clientId}/heartbeat:
    parameters:
    - name: clientId
      in: path
      required: true
      schema:
        type: string
    post:
      tags:
      - Heartbeats
      summary: Send Heartbeat
      operationId: sendHeartbeat
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Heartbeat'
      responses:
        '200':
          description: Heartbeat acknowledged; returns any pending tasks.
  /edge/clients/{clientId}/tasks:
    parameters:
    - name: clientId
      in: path
      required: true
      schema:
        type: string
    get:
      tags:
      - Tasks
      summary: List Pending Tasks
      operationId: listEdgeTasks
      responses:
        '200':
          description: Pending tasks for the edge client.
  /edge/clients/{clientId}/tasks/{taskId}/result:
    parameters:
    - name: clientId
      in: path
      required: true
      schema:
        type: string
    - name: taskId
      in: path
      required: true
      schema:
        type: string
    post:
      tags:
      - Tasks
      summary: Submit Task Result
      operationId: submitTaskResult
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Result accepted.
components:
  securitySchemes:
    PipelineServiceKey:
      type: http
      scheme: bearer
  schemas:
    EdgeClient:
      type: object
      properties:
        clientId:
          type: string
        name:
          type: string
        version:
          type: string
        labels:
          type: object
          additionalProperties:
            type: string
    Heartbeat:
      type: object
      properties:
        timestamp:
          type: integer
          format: int64
        status:
          type: string
        version:
          type: string