Letta · Capability

Letta API — Pipelines

Pipelines — composable agent pipelines. 10 operations. Lead operation: Create Pipeline. Self-contained Naftiko capability covering one Letta business surface.

Letta API — Pipelines is a Naftiko capability published by Letta, one of 36 capabilities the APIs.io network indexes for this provider. It bundles 10 operations across the GET, POST, PATCH, and DELETE methods rooted at /v1/pipelines.

The capability includes 4 read-only operations and 6 state-changing operations. Lead operation: Create Pipeline. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Letta, Stateful Agents, and Pipelines.

Run with Naftiko LettaStateful AgentsPipelines

What You Can Do

POST
Pipelines_createpipeline — Create Pipeline
/v1/pipelines
GET
Pipelines_listpipelines — List Pipelines
/v1/pipelines
GET
Pipelines_countpipelines — Count Pipelines
/v1/pipelines/count
GET
Pipelines_getpipeline — Get Pipeline
/v1/pipelines/{pipeline-id}
PATCH
Pipelines_updatepipeline — Update Pipeline
/v1/pipelines/{pipeline-id}
DELETE
Pipelines_deletepipeline — Delete Pipeline
/v1/pipelines/{pipeline-id}
PATCH
Pipelines_updatepipelineproducerconfig — Update Pipeline Producer Config
/v1/pipelines/{pipeline-id}/config
POST
Pipelines_previewpipeline — Preview Pipeline
/v1/pipelines/preview
POST
Pipelines_syncpipeline — Sync Pipeline
/v1/pipelines/{pipeline-id}/sync
GET
Pipelines_listpipelinesynchistory — List Pipeline Sync History
/v1/pipelines/{pipeline-id}/sync/history

MCP Tools

create-pipeline

Create Pipeline

list-pipelines

List Pipelines

read-only idempotent
count-pipelines

Count Pipelines

read-only idempotent
get-pipeline

Get Pipeline

read-only idempotent
update-pipeline

Update Pipeline

idempotent
delete-pipeline

Delete Pipeline

idempotent
update-pipeline-producer-config

Update Pipeline Producer Config

idempotent
preview-pipeline

Preview Pipeline

sync-pipeline

Sync Pipeline

list-pipeline-sync-history

List Pipeline Sync History

read-only idempotent

Capability Spec

letta-pipelines.yaml Raw ↑
naftiko: "1.0.0-alpha2"

info:
  label: "Letta API — Pipelines"
  description: >-
    Pipelines — composable agent pipelines. 10 operations. Lead operation: Create Pipeline. Self-contained Naftiko capability covering one Letta business surface.
  tags:
    - Letta
    - Stateful Agents
    - Pipelines
  created: "2026-05-08"
  modified: "2026-05-22"

binds:
  - namespace: env
    keys:
      LETTA_API_KEY: LETTA_API_KEY

capability:

  consumes:
    - type: http
      namespace: "letta-pipelines"
      baseUri: "https://api.letta.com"
      description: "Letta API — Pipelines business capability. Self-contained, no shared references."
      authentication:
        type: bearer
        token: "{{env.LETTA_API_KEY}}"
      resources:
        - name: "pipelines"
          path: "/v1/pipelines"
          operations:
            - name: "pipelines_createpipeline"
              method: POST
              description: "Create Pipeline"
              inputParameters:
                - name: "body"
                  in: body
                  type: object
                  required: true
                  description: "Body"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "pipelines_listpipelines"
              method: GET
              description: "List Pipelines"
              inputParameters:
                - name: "search"
                  in: query
                  type: string
                  required: false
                  description: "search parameter"
                - name: "integration_type"
                  in: query
                  type: string
                  required: false
                  description: "integration_type parameter"
                - name: "integration_id"
                  in: query
                  type: string
                  required: false
                  description: "integration_id parameter"
                - name: "offset"
                  in: query
                  type: string
                  required: false
                  description: "offset parameter"
                - name: "limit"
                  in: query
                  type: string
                  required: false
                  description: "limit parameter"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "pipelines-count"
          path: "/v1/pipelines/count"
          operations:
            - name: "pipelines_countpipelines"
              method: GET
              description: "Count Pipelines"
              inputParameters:
                - name: "search"
                  in: query
                  type: string
                  required: false
                  description: "search parameter"
                - name: "integration_type"
                  in: query
                  type: string
                  required: false
                  description: "integration_type parameter"
                - name: "integration_id"
                  in: query
                  type: string
                  required: false
                  description: "integration_id parameter"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "pipelines-by-id"
          path: "/v1/pipelines/{pipeline_id}"
          operations:
            - name: "pipelines_getpipeline"
              method: GET
              description: "Get Pipeline"
              inputParameters:
                - name: "pipeline_id"
                  in: path
                  type: string
                  required: true
                  description: "pipeline_id parameter"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "pipelines_updatepipeline"
              method: PATCH
              description: "Update Pipeline"
              inputParameters:
                - name: "pipeline_id"
                  in: path
                  type: string
                  required: true
                  description: "pipeline_id parameter"
                - name: "body"
                  in: body
                  type: object
                  required: true
                  description: "Body"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "pipelines_deletepipeline"
              method: DELETE
              description: "Delete Pipeline"
              inputParameters:
                - name: "pipeline_id"
                  in: path
                  type: string
                  required: true
                  description: "pipeline_id parameter"
                - name: "body"
                  in: body
                  type: object
                  required: true
                  description: "Body"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "pipelines-by-id-config"
          path: "/v1/pipelines/{pipeline_id}/config"
          operations:
            - name: "pipelines_updatepipelineproducerconfig"
              method: PATCH
              description: "Update Pipeline Producer Config"
              inputParameters:
                - name: "pipeline_id"
                  in: path
                  type: string
                  required: true
                  description: "pipeline_id parameter"
                - name: "body"
                  in: body
                  type: object
                  required: true
                  description: "Body"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "pipelines-preview"
          path: "/v1/pipelines/preview"
          operations:
            - name: "pipelines_previewpipeline"
              method: POST
              description: "Preview Pipeline"
              inputParameters:
                - name: "body"
                  in: body
                  type: object
                  required: true
                  description: "Body"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "pipelines-by-id-sync"
          path: "/v1/pipelines/{pipeline_id}/sync"
          operations:
            - name: "pipelines_syncpipeline"
              method: POST
              description: "Sync Pipeline"
              inputParameters:
                - name: "pipeline_id"
                  in: path
                  type: string
                  required: true
                  description: "pipeline_id parameter"
                - name: "body"
                  in: body
                  type: object
                  required: true
                  description: "Body"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "pipelines-by-id-sync-history"
          path: "/v1/pipelines/{pipeline_id}/sync/history"
          operations:
            - name: "pipelines_listpipelinesynchistory"
              method: GET
              description: "List Pipeline Sync History"
              inputParameters:
                - name: "pipeline_id"
                  in: path
                  type: string
                  required: true
                  description: "pipeline_id parameter"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."

  exposes:
    - type: rest
      namespace: "letta-pipelines-rest"
      port: 8080
      description: "REST adapter for Letta API — Pipelines. One Spectral-compliant resource per consumed operation."
      resources:
        - path: "/v1/pipelines"
          name: "pipelines"
          description: "REST surface for pipelines."
          operations:
            - method: POST
              name: "pipelines_createpipeline"
              description: "Create Pipeline"
              call: "letta-pipelines.pipelines_createpipeline"
              with:
                "body": "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: GET
              name: "pipelines_listpipelines"
              description: "List Pipelines"
              call: "letta-pipelines.pipelines_listpipelines"
              with:
                "search": "rest.search"
                "integration_type": "rest.integration_type"
                "integration_id": "rest.integration_id"
                "offset": "rest.offset"
                "limit": "rest.limit"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/pipelines/count"
          name: "pipelines-count"
          description: "REST surface for pipelines-count."
          operations:
            - method: GET
              name: "pipelines_countpipelines"
              description: "Count Pipelines"
              call: "letta-pipelines.pipelines_countpipelines"
              with:
                "search": "rest.search"
                "integration_type": "rest.integration_type"
                "integration_id": "rest.integration_id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/pipelines/{pipeline-id}"
          name: "pipelines-by-id"
          description: "REST surface for pipelines-by-id."
          operations:
            - method: GET
              name: "pipelines_getpipeline"
              description: "Get Pipeline"
              call: "letta-pipelines.pipelines_getpipeline"
              with:
                "pipeline_id": "rest.pipeline_id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: PATCH
              name: "pipelines_updatepipeline"
              description: "Update Pipeline"
              call: "letta-pipelines.pipelines_updatepipeline"
              with:
                "pipeline_id": "rest.pipeline_id"
                "body": "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: DELETE
              name: "pipelines_deletepipeline"
              description: "Delete Pipeline"
              call: "letta-pipelines.pipelines_deletepipeline"
              with:
                "pipeline_id": "rest.pipeline_id"
                "body": "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/pipelines/{pipeline-id}/config"
          name: "pipelines-by-id-config"
          description: "REST surface for pipelines-by-id-config."
          operations:
            - method: PATCH
              name: "pipelines_updatepipelineproducerconfig"
              description: "Update Pipeline Producer Config"
              call: "letta-pipelines.pipelines_updatepipelineproducerconfig"
              with:
                "pipeline_id": "rest.pipeline_id"
                "body": "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/pipelines/preview"
          name: "pipelines-preview"
          description: "REST surface for pipelines-preview."
          operations:
            - method: POST
              name: "pipelines_previewpipeline"
              description: "Preview Pipeline"
              call: "letta-pipelines.pipelines_previewpipeline"
              with:
                "body": "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/pipelines/{pipeline-id}/sync"
          name: "pipelines-by-id-sync"
          description: "REST surface for pipelines-by-id-sync."
          operations:
            - method: POST
              name: "pipelines_syncpipeline"
              description: "Sync Pipeline"
              call: "letta-pipelines.pipelines_syncpipeline"
              with:
                "pipeline_id": "rest.pipeline_id"
                "body": "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/pipelines/{pipeline-id}/sync/history"
          name: "pipelines-by-id-sync-history"
          description: "REST surface for pipelines-by-id-sync-history."
          operations:
            - method: GET
              name: "pipelines_listpipelinesynchistory"
              description: "List Pipeline Sync History"
              call: "letta-pipelines.pipelines_listpipelinesynchistory"
              with:
                "pipeline_id": "rest.pipeline_id"
              outputParameters:
                - type: object
                  mapping: "$."
    - type: mcp
      namespace: "letta-pipelines-mcp"
      port: 9090
      transport: http
      description: "MCP adapter for Letta API — Pipelines. One verb-noun tool per consumed operation."
      tools:
        - name: "create-pipeline"
          description: "Create Pipeline"
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "letta-pipelines.pipelines_createpipeline"
          with:
            "body": "tools.body"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "list-pipelines"
          description: "List Pipelines"
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "letta-pipelines.pipelines_listpipelines"
          with:
            "search": "tools.search"
            "integration_type": "tools.integration_type"
            "integration_id": "tools.integration_id"
            "offset": "tools.offset"
            "limit": "tools.limit"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "count-pipelines"
          description: "Count Pipelines"
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "letta-pipelines.pipelines_countpipelines"
          with:
            "search": "tools.search"
            "integration_type": "tools.integration_type"
            "integration_id": "tools.integration_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "get-pipeline"
          description: "Get Pipeline"
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "letta-pipelines.pipelines_getpipeline"
          with:
            "pipeline_id": "tools.pipeline_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "update-pipeline"
          description: "Update Pipeline"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "letta-pipelines.pipelines_updatepipeline"
          with:
            "pipeline_id": "tools.pipeline_id"
            "body": "tools.body"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "delete-pipeline"
          description: "Delete Pipeline"
          hints:
            readOnly: false
            destructive: true
            idempotent: true
          call: "letta-pipelines.pipelines_deletepipeline"
          with:
            "pipeline_id": "tools.pipeline_id"
            "body": "tools.body"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "update-pipeline-producer-config"
          description: "Update Pipeline Producer Config"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "letta-pipelines.pipelines_updatepipelineproducerconfig"
          with:
            "pipeline_id": "tools.pipeline_id"
            "body": "tools.body"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "preview-pipeline"
          description: "Preview Pipeline"
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "letta-pipelines.pipelines_previewpipeline"
          with:
            "body": "tools.body"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "sync-pipeline"
          description: "Sync Pipeline"
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "letta-pipelines.pipelines_syncpipeline"
          with:
            "pipeline_id": "tools.pipeline_id"
            "body": "tools.body"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "list-pipeline-sync-history"
          description: "List Pipeline Sync History"
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "letta-pipelines.pipelines_listpipelinesynchistory"
          with:
            "pipeline_id": "tools.pipeline_id"
          outputParameters:
            - type: object
              mapping: "$."