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.
What You Can Do
MCP Tools
create-pipeline
Create Pipeline
list-pipelines
List Pipelines
count-pipelines
Count Pipelines
get-pipeline
Get Pipeline
update-pipeline
Update Pipeline
delete-pipeline
Delete Pipeline
update-pipeline-producer-config
Update Pipeline Producer Config
preview-pipeline
Preview Pipeline
sync-pipeline
Sync Pipeline
list-pipeline-sync-history
List Pipeline Sync History
Capability Spec
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: "$."