Viam Data Pipelines API

Create, list, rename, enable, disable, and delete scheduled MQL data pipelines that aggregate captured machine data into the Viam hot data store. Backed by ListDataPipelineRuns for execution history.

Viam Data Pipelines API is one of 14 APIs that Viam 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 Robotics, Data, Pipelines, and Analytics. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

viam-data-pipelines-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Viam Data Pipelines API
  description: |
    REST/JSON transcoding of the Viam DataPipelinesService gRPC API. Create, list, rename,
    enable, disable, and delete scheduled MQL data pipelines that aggregate captured
    machine data into the Viam hot data store.

    Canonical contract: https://github.com/viamrobotics/api/blob/main/proto/viam/app/datapipelines/v1/data_pipelines.proto
  version: '2026.05'
  contact:
    name: Viam Support
    url: https://www.viam.com/contact
servers:
  - url: https://app.viam.com
    description: Viam production cloud.
security:
  - ApiKeyAuth: []
tags:
  - name: Pipelines
    description: Scheduled MQL aggregation pipelines.
paths:
  /viam.app.datapipelines.v1.DataPipelinesService/GetDataPipeline:
    post:
      summary: Viam Get Data Pipeline
      description: Retrieve a data pipeline by id.
      operationId: getDataPipeline
      tags: [Pipelines]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: [id]
              properties:
                id: { type: string }
      responses:
        '200':
          description: Successful response.
  /viam.app.datapipelines.v1.DataPipelinesService/ListDataPipelines:
    post:
      summary: Viam List Data Pipelines
      description: List data pipelines in an organization.
      operationId: listDataPipelines
      tags: [Pipelines]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: [organization_id]
              properties:
                organization_id: { type: string }
      responses:
        '200':
          description: Successful response.
  /viam.app.datapipelines.v1.DataPipelinesService/CreateDataPipeline:
    post:
      summary: Viam Create Data Pipeline
      description: Create a new MQL data pipeline.
      operationId: createDataPipeline
      tags: [Pipelines]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: [organization_id, name, mql_binary, schedule]
              properties:
                organization_id: { type: string }
                name: { type: string }
                mql_binary: { type: array, items: { type: string, format: byte } }
                schedule: { type: string, description: 'Cron expression' }
      responses:
        '200':
          description: Successful response.
  /viam.app.datapipelines.v1.DataPipelinesService/RenameDataPipeline:
    post:
      summary: Viam Rename Data Pipeline
      description: Rename a data pipeline.
      operationId: renameDataPipeline
      tags: [Pipelines]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: [id, name]
              properties:
                id: { type: string }
                name: { type: string }
      responses:
        '200':
          description: Successful response.
  /viam.app.datapipelines.v1.DataPipelinesService/DeleteDataPipeline:
    post:
      summary: Viam Delete Data Pipeline
      description: Delete a data pipeline.
      operationId: deleteDataPipeline
      tags: [Pipelines]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: [id]
              properties:
                id: { type: string }
      responses:
        '200':
          description: Successful response.
  /viam.app.datapipelines.v1.DataPipelinesService/EnableDataPipeline:
    post:
      summary: Viam Enable Data Pipeline
      description: Enable a paused data pipeline.
      operationId: enableDataPipeline
      tags: [Pipelines]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: [id]
              properties:
                id: { type: string }
      responses:
        '200':
          description: Successful response.
  /viam.app.datapipelines.v1.DataPipelinesService/DisableDataPipeline:
    post:
      summary: Viam Disable Data Pipeline
      description: Disable a running data pipeline.
      operationId: disableDataPipeline
      tags: [Pipelines]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: [id]
              properties:
                id: { type: string }
      responses:
        '200':
          description: Successful response.
  /viam.app.datapipelines.v1.DataPipelinesService/ListDataPipelineRuns:
    post:
      summary: Viam List Data Pipeline Runs
      description: List historical runs for a data pipeline.
      operationId: listDataPipelineRuns
      tags: [Pipelines]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: [id]
              properties:
                id: { type: string }
                page_size: { type: integer }
                page_token: { type: string }
      responses:
        '200':
          description: Successful response.
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: key
      description: Viam API key.