Letta Pipelines API

Composable agent pipelines.

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-agent-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-block-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-tool-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-source-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-run-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-group-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-identity-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-message-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-passage-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-archive-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-job-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-llm-config-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-embedding-config-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-provider-schema.json

Other Resources

OpenAPI Specification

letta-pipelines-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Letta Admin Pipelines API
  version: 1.0.0
  description: REST API for Letta, the stateful agents platform. Manage agents, memory blocks, archival passages, sources, custom tools, MCP servers, multi-agent groups, runs, and streaming responses. Available as Letta Cloud (managed) at https://api.letta.com/v1 and as the self-hosted open-source server (Apache-2.0) typically run at http://localhost:8283.
  contact:
    name: Letta
    url: https://www.letta.com/
    email: support@letta.com
  license:
    name: Apache-2.0
    url: https://github.com/letta-ai/letta/blob/main/LICENSE
  x-logo:
    url: https://www.letta.com/favicon.ico
servers:
- url: https://api.letta.com
  description: Letta Cloud (managed)
- url: https://app.letta.com
  description: Letta Cloud (app)
- url: http://localhost:8283
  description: Self-hosted Letta server
security:
- bearerAuth: []
tags:
- name: Pipelines
  description: Composable agent pipelines.
paths:
  /v1/pipelines:
    post:
      description: Create a new pipeline (producer + feed + optionally subscribers)
      summary: Create Pipeline
      tags:
      - Pipelines
      parameters: []
      operationId: pipelines.createPipeline
      requestBody:
        description: Body
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                project_id:
                  type: string
                integration_type:
                  type: string
                  enum:
                  - slack
                  - discord
                  - microsoftTeams
                  - custom_webhook
                producer_config:
                  discriminator:
                    propertyName: type
                  oneOf:
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - slack_channel_reader
                      data:
                        type: object
                        properties:
                          channels:
                            type: array
                            items:
                              type: object
                              properties:
                                channel_id:
                                  type: string
                                channel_name:
                                  type: string
                                last_message_ts:
                                  type: string
                              required:
                              - channel_id
                            minItems: 1
                            maxItems: 100
                          max_messages_per_poll:
                            type: number
                        required:
                        - channels
                    required:
                    - type
                    - data
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - custom_webhook
                      data:
                        type: object
                        properties: {}
                    required:
                    - type
                    - data
                subscriber_agent_ids:
                  type: array
                  items:
                    type: string
                subscriber_cron_schedule:
                  type: string
                prompt_template:
                  type: string
              required:
              - name
              - project_id
              - integration_type
              - producer_config
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  pipeline:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      organization_id:
                        type: string
                      project_id:
                        type: string
                      integration_id:
                        type: string
                        nullable: true
                      integration_type:
                        type: string
                        enum:
                        - slack
                        - discord
                        - microsoftTeams
                        - custom_webhook
                      feed_id:
                        type: string
                      config:
                        discriminator:
                          propertyName: type
                        oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                              - slack_channel_reader
                            data:
                              type: object
                              properties:
                                channels:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      channel_id:
                                        type: string
                                      channel_name:
                                        type: string
                                      last_message_ts:
                                        type: string
                                    required:
                                    - channel_id
                                  minItems: 1
                                  maxItems: 100
                                max_messages_per_poll:
                                  type: number
                              required:
                              - channels
                          required:
                          - type
                          - data
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                              - custom_webhook
                            data:
                              type: object
                              properties: {}
                          required:
                          - type
                          - data
                      next_scheduled_at:
                        type: string
                        format: date-time
                        nullable: true
                      last_run_at:
                        type: string
                        format: date-time
                        nullable: true
                      disabled_at:
                        type: string
                        format: date-time
                        nullable: true
                      created_at:
                        type: string
                        format: date-time
                      updated_at:
                        type: string
                        format: date-time
                      integration_display_name:
                        type: string
                        nullable: true
                      feed_name:
                        type: string
                      subscriber_count:
                        type: number
                      error_count:
                        type: number
                      project_name:
                        type: string
                      project_slug:
                        type: string
                    required:
                    - id
                    - name
                    - organization_id
                    - project_id
                    - integration_id
                    - integration_type
                    - feed_id
                    - config
                    - next_scheduled_at
                    - last_run_at
                    - disabled_at
                    - created_at
                    - updated_at
                required:
                - pipeline
        '400':
          description: '400'
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  errorCode:
                    type: string
                    enum:
                    - integrationNotFound
                    - invalidProducerConfig
                    - agentNotFound
                required:
                - message
                - errorCode
    get:
      description: List all pipelines for the organization with optional filtering
      summary: List Pipelines
      tags:
      - Pipelines
      parameters:
      - name: search
        in: query
        schema:
          type: string
      - name: integration_type
        in: query
        schema:
          type: string
      - name: integration_id
        in: query
        schema:
          type: string
      - name: offset
        in: query
        schema:
          oneOf:
          - type: string
          - type: number
      - name: limit
        in: query
        schema:
          type: string
      operationId: pipelines.listPipelines
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  pipelines:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        name:
                          type: string
                        organization_id:
                          type: string
                        project_id:
                          type: string
                        integration_id:
                          type: string
                          nullable: true
                        integration_type:
                          type: string
                          enum:
                          - slack
                          - discord
                          - microsoftTeams
                          - custom_webhook
                        feed_id:
                          type: string
                        config:
                          discriminator:
                            propertyName: type
                          oneOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                - slack_channel_reader
                              data:
                                type: object
                                properties:
                                  channels:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        channel_id:
                                          type: string
                                        channel_name:
                                          type: string
                                        last_message_ts:
                                          type: string
                                      required:
                                      - channel_id
                                    minItems: 1
                                    maxItems: 100
                                  max_messages_per_poll:
                                    type: number
                                required:
                                - channels
                            required:
                            - type
                            - data
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                - custom_webhook
                              data:
                                type: object
                                properties: {}
                            required:
                            - type
                            - data
                        next_scheduled_at:
                          type: string
                          format: date-time
                          nullable: true
                        last_run_at:
                          type: string
                          format: date-time
                          nullable: true
                        disabled_at:
                          type: string
                          format: date-time
                          nullable: true
                        created_at:
                          type: string
                          format: date-time
                        updated_at:
                          type: string
                          format: date-time
                        integration_display_name:
                          type: string
                          nullable: true
                        feed_name:
                          type: string
                        subscriber_count:
                          type: number
                        error_count:
                          type: number
                        project_name:
                          type: string
                        project_slug:
                          type: string
                      required:
                      - id
                      - name
                      - organization_id
                      - project_id
                      - integration_id
                      - integration_type
                      - feed_id
                      - config
                      - next_scheduled_at
                      - last_run_at
                      - disabled_at
                      - created_at
                      - updated_at
                  hasNextPage:
                    type: boolean
                required:
                - pipelines
                - hasNextPage
  /v1/pipelines/count:
    get:
      description: Get the total count of pipelines, optionally filtered by project and search
      summary: Count Pipelines
      tags:
      - Pipelines
      parameters:
      - name: search
        in: query
        schema:
          type: string
      - name: integration_type
        in: query
        schema:
          type: string
      - name: integration_id
        in: query
        schema:
          type: string
      operationId: pipelines.countPipelines
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                required:
                - count
  /v1/pipelines/{pipeline_id}:
    get:
      description: Get a single pipeline with details
      summary: Get Pipeline
      tags:
      - Pipelines
      parameters:
      - name: pipeline_id
        in: path
        required: true
        schema:
          type: string
      operationId: pipelines.getPipeline
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  pipeline:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      organization_id:
                        type: string
                      project_id:
                        type: string
                      integration_id:
                        type: string
                        nullable: true
                      integration_type:
                        type: string
                        enum:
                        - slack
                        - discord
                        - microsoftTeams
                        - custom_webhook
                      feed_id:
                        type: string
                      config:
                        discriminator:
                          propertyName: type
                        oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                              - slack_channel_reader
                            data:
                              type: object
                              properties:
                                channels:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      channel_id:
                                        type: string
                                      channel_name:
                                        type: string
                                      last_message_ts:
                                        type: string
                                    required:
                                    - channel_id
                                  minItems: 1
                                  maxItems: 100
                                max_messages_per_poll:
                                  type: number
                              required:
                              - channels
                          required:
                          - type
                          - data
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                              - custom_webhook
                            data:
                              type: object
                              properties: {}
                          required:
                          - type
                          - data
                      next_scheduled_at:
                        type: string
                        format: date-time
                        nullable: true
                      last_run_at:
                        type: string
                        format: date-time
                        nullable: true
                      disabled_at:
                        type: string
                        format: date-time
                        nullable: true
                      created_at:
                        type: string
                        format: date-time
                      updated_at:
                        type: string
                        format: date-time
                      integration_display_name:
                        type: string
                        nullable: true
                      feed_name:
                        type: string
                      subscriber_count:
                        type: number
                      error_count:
                        type: number
                      project_name:
                        type: string
                      project_slug:
                        type: string
                    required:
                    - id
                    - name
                    - organization_id
                    - project_id
                    - integration_id
                    - integration_type
                    - feed_id
                    - config
                    - next_scheduled_at
                    - last_run_at
                    - disabled_at
                    - created_at
                    - updated_at
                required:
                - pipeline
        '404':
          description: '404'
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  errorCode:
                    type: string
                    enum:
                    - pipelineNotFound
                required:
                - message
                - errorCode
    patch:
      description: Update pipeline name or disable/enable it
      summary: Update Pipeline
      tags:
      - Pipelines
      parameters:
      - name: pipeline_id
        in: path
        required: true
        schema:
          type: string
      operationId: pipelines.updatePipeline
      requestBody:
        description: Body
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                disabled:
                  type: boolean
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  pipeline:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      organization_id:
                        type: string
                      project_id:
                        type: string
                      integration_id:
                        type: string
                        nullable: true
                      integration_type:
                        type: string
                        enum:
                        - slack
                        - discord
                        - microsoftTeams
                        - custom_webhook
                      feed_id:
                        type: string
                      config:
                        discriminator:
                          propertyName: type
                        oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                              - slack_channel_reader
                            data:
                              type: object
                              properties:
                                channels:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      channel_id:
                                        type: string
                                      channel_name:
                                        type: string
                                      last_message_ts:
                                        type: string
                                    required:
                                    - channel_id
                                  minItems: 1
                                  maxItems: 100
                                max_messages_per_poll:
                                  type: number
                              required:
                              - channels
                          required:
                          - type
                          - data
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                              - custom_webhook
                            data:
                              type: object
                              properties: {}
                          required:
                          - type
                          - data
                      next_scheduled_at:
                        type: string
                        format: date-time
                        nullable: true
                      last_run_at:
                        type: string
                        format: date-time
                        nullable: true
                      disabled_at:
                        type: string
                        format: date-time
                        nullable: true
                      created_at:
                        type: string
                        format: date-time
                      updated_at:
                        type: string
                        format: date-time
                      integration_display_name:
                        type: string
                        nullable: true
                      feed_name:
                        type: string
                      subscriber_count:
                        type: number
                      error_count:
                        type: number
                      project_name:
                        type: string
                      project_slug:
                        type: string
                    required:
                    - id
                    - name
                    - organization_id
                    - project_id
                    - integration_id
                    - integration_type
                    - feed_id
                    - config
                    - next_scheduled_at
                    - last_run_at
                    - disabled_at
                    - created_at
                    - updated_at
                required:
                - pipeline
        '404':
          description: '404'
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  errorCode:
                    type: string
                    enum:
                    - pipelineNotFound
                required:
                - message
    delete:
      description: Soft delete a pipeline and cascade to feed + subscriptions
      summary: Delete Pipeline
      tags:
      - Pipelines
      parameters:
      - name: pipeline_id
        in: path
        required: true
        schema:
          type: string
      operationId: pipelines.deletePipeline
      requestBody:
        description: Body
        content:
          application/json:
            schema:
              type: object
              properties: {}
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                required:
                - success
        '404':
          description: '404'
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  errorCode:
                    type: string
                    enum:
                    - pipelineNotFound
                required:
                - message
  /v1/pipelines/{pipeline_id}/config:
    patch:
      description: Update the producer configuration for a pipeline (e.g., Slack channels)
      summary: Update Pipeline Producer Config
      tags:
      - Pipelines
      parameters:
      - name: pipeline_id
        in: path
        required: true
        schema:
          type: string
      operationId: pipelines.updatePipelineProducerConfig
      requestBody:
        description: Body
        content:
          application/json:
            schema:
              type: object
              properties:
                producer_config:
                  discriminator:
                    propertyName: type
                  oneOf:
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - slack_channel_reader
                      data:
                        type: object
                        properties:
                          channels:
                            type: array
                            items:
                              type: object
                              properties:
                                channel_id:
                                  type: string
                                channel_name:
                                  type: string
                                last_message_ts:
                                  type: string
                              required:
                              - channel_id
                            minItems: 1
                            maxItems: 100
                          max_messages_per_poll:
                            type: number
                        required:
                        - channels
                    required:
                    - type
                    - data
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - custom_webhook
                      data:
                        type: object
                        properties: {}
                    required:
                    - type
                    - data
              required:
              - producer_config
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  pipeline:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      organization_id:
                        type: string
                      project_id:
                        type: string
                      integration_id:
                        type: string
                        nullable: true
                      integration_type:
                        type: string
                        enum:
                        - slack
                        - discord
                        - microsoftTeams
                        - custom_webhook
                      feed_id:
                        type: string
                      config:
                        discriminator:
                          propertyName: type
                        oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                              - slack_channel_reader
                            data:
                              type: object
                              properties:
                                channels:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      channel_id:
                                        type: string
                                      channel_name:
                                        type: string
                                      last_message_ts:
                                        type: string
                                    required:
                                    - channel_id
                                  minItems: 1
                                  maxItems: 100
                                max_messages_per_poll:
                                  type: number
                              required:
                              - channels
                          required:
                          - type
                          - data
                        - type: object
                          properties:
                            type:
     

# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/openapi/letta-pipelines-api-openapi.yml