Letta Scheduled Messages API

Schedule one-time or recurring messages to drive agents over time.

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-scheduled-messages-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Letta Admin Scheduled Messages 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: Scheduled Messages
  description: Schedule one-time or recurring messages to drive agents over time.
paths:
  /v1/agents/{agent_id}/schedule:
    post:
      description: Schedule a message to be sent by the agent at a specified time or on a recurring basis.
      summary: Schedule Agent Message
      tags:
      - Scheduled Messages
      parameters:
      - name: agent_id
        in: path
        required: true
        schema:
          type: string
      operationId: scheduledMessages.scheduleAgentMessage
      requestBody:
        description: Body
        content:
          application/json:
            schema:
              type: object
              properties:
                messages:
                  type: array
                  items:
                    type: object
                    properties:
                      content:
                        oneOf:
                        - type: array
                          items:
                            oneOf:
                            - type: object
                              properties:
                                text:
                                  type: string
                                signature:
                                  type: string
                                  nullable: true
                                type:
                                  type: string
                                  enum:
                                  - text
                              required:
                              - text
                            - type: object
                              properties:
                                source:
                                  type: object
                                  properties:
                                    data:
                                      type: string
                                    media_type:
                                      type: string
                                    detail:
                                      type: string
                                    type:
                                      type: string
                                      enum:
                                      - base64
                                  required:
                                  - data
                                  - media_type
                                type:
                                  type: string
                                  enum:
                                  - image
                              required:
                              - source
                              - type
                        - type: string
                      role:
                        type: string
                        enum:
                        - user
                        - assistant
                        - system
                      name:
                        type: string
                      otid:
                        type: string
                      sender_id:
                        type: string
                      type:
                        type: string
                        enum:
                        - message
                    required:
                    - content
                    - role
                max_steps:
                  type: number
                callback_url:
                  type: string
                  format: uri
                include_return_message_types:
                  type: array
                  items:
                    type: string
                    enum:
                    - system_message
                    - user_message
                    - assistant_message
                    - reasoning_message
                    - hidden_reasoning_message
                    - tool_call_message
                    - tool_return_message
                    - approval_request_message
                    - approval_response_message
                schedule:
                  oneOf:
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - one-time
                      scheduled_at:
                        type: number
                    required:
                    - scheduled_at
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - recurring
                      cron_expression:
                        type: string
                    required:
                    - type
                    - cron_expression
              required:
              - messages
              - schedule
      responses:
        '201':
          description: '201'
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  next_scheduled_at:
                    type: string
                required:
                - id
    get:
      description: List all scheduled messages for a specific agent.
      summary: List Scheduled Agent Messages
      tags:
      - Scheduled Messages
      parameters:
      - name: agent_id
        in: path
        required: true
        schema:
          type: string
      - name: limit
        in: query
        schema:
          type: string
      - name: after
        in: query
        schema:
          type: string
      operationId: scheduledMessages.listScheduledMessages
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  scheduled_messages:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        agent_id:
                          type: string
                        message:
                          type: object
                          properties:
                            messages:
                              type: array
                              items:
                                type: object
                                properties:
                                  content:
                                    oneOf:
                                    - type: array
                                      items:
                                        oneOf:
                                        - type: object
                                          properties:
                                            text:
                                              type: string
                                            signature:
                                              type: string
                                              nullable: true
                                            type:
                                              type: string
                                              enum:
                                              - text
                                          required:
                                          - text
                                        - type: object
                                          properties:
                                            source:
                                              type: object
                                              properties:
                                                data:
                                                  type: string
                                                media_type:
                                                  type: string
                                                detail:
                                                  type: string
                                                type:
                                                  type: string
                                                  enum:
                                                  - base64
                                              required:
                                              - data
                                              - media_type
                                            type:
                                              type: string
                                              enum:
                                              - image
                                          required:
                                          - source
                                          - type
                                    - type: string
                                  role:
                                    type: string
                                    enum:
                                    - user
                                    - assistant
                                    - system
                                  name:
                                    type: string
                                  otid:
                                    type: string
                                  sender_id:
                                    type: string
                                  type:
                                    type: string
                                    enum:
                                    - message
                                required:
                                - content
                                - role
                            max_steps:
                              type: number
                            callback_url:
                              type: string
                              format: uri
                            include_return_message_types:
                              type: array
                              items:
                                type: string
                                enum:
                                - system_message
                                - user_message
                                - assistant_message
                                - reasoning_message
                                - hidden_reasoning_message
                                - tool_call_message
                                - tool_return_message
                                - approval_request_message
                                - approval_response_message
                          required:
                          - messages
                        schedule:
                          oneOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                - one-time
                              scheduled_at:
                                type: number
                            required:
                            - scheduled_at
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                - recurring
                              cron_expression:
                                type: string
                            required:
                            - type
                            - cron_expression
                        next_scheduled_time:
                          type: string
                          nullable: true
                      required:
                      - id
                      - agent_id
                      - message
                      - schedule
                      - next_scheduled_time
                  has_next_page:
                    type: boolean
                required:
                - scheduled_messages
                - has_next_page
  /v1/agents/{agent_id}/schedule/{scheduled_message_id}:
    delete:
      description: Delete a scheduled message by its ID for a specific agent.
      summary: Delete Scheduled Agent Message
      tags:
      - Scheduled Messages
      parameters:
      - name: agent_id
        in: path
        required: true
        schema:
          type: string
      - name: scheduled_message_id
        in: path
        required: true
        schema:
          type: string
      operationId: scheduledMessages.deleteScheduledMessage
      requestBody:
        description: Body
        content:
          application/json:
            schema:
              type: object
              properties: {}
              nullable: true
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - true
                required:
                - success
    get:
      description: Retrieve a scheduled message by its ID for a specific agent.
      summary: Retrieve Scheduled Agent Message
      tags:
      - Scheduled Messages
      parameters:
      - name: agent_id
        in: path
        required: true
        schema:
          type: string
      - name: scheduled_message_id
        in: path
        required: true
        schema:
          type: string
      operationId: scheduledMessages.retrieveScheduledMessage
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  agent_id:
                    type: string
                  message:
                    type: object
                    properties:
                      messages:
                        type: array
                        items:
                          type: object
                          properties:
                            content:
                              oneOf:
                              - type: array
                                items:
                                  oneOf:
                                  - type: object
                                    properties:
                                      text:
                                        type: string
                                      signature:
                                        type: string
                                        nullable: true
                                      type:
                                        type: string
                                        enum:
                                        - text
                                    required:
                                    - text
                                  - type: object
                                    properties:
                                      source:
                                        type: object
                                        properties:
                                          data:
                                            type: string
                                          media_type:
                                            type: string
                                          detail:
                                            type: string
                                          type:
                                            type: string
                                            enum:
                                            - base64
                                        required:
                                        - data
                                        - media_type
                                      type:
                                        type: string
                                        enum:
                                        - image
                                    required:
                                    - source
                                    - type
                              - type: string
                            role:
                              type: string
                              enum:
                              - user
                              - assistant
                              - system
                            name:
                              type: string
                            otid:
                              type: string
                            sender_id:
                              type: string
                            type:
                              type: string
                              enum:
                              - message
                          required:
                          - content
                          - role
                      max_steps:
                        type: number
                      callback_url:
                        type: string
                        format: uri
                      include_return_message_types:
                        type: array
                        items:
                          type: string
                          enum:
                          - system_message
                          - user_message
                          - assistant_message
                          - reasoning_message
                          - hidden_reasoning_message
                          - tool_call_message
                          - tool_return_message
                          - approval_request_message
                          - approval_response_message
                    required:
                    - messages
                  schedule:
                    oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                          - one-time
                        scheduled_at:
                          type: number
                      required:
                      - scheduled_at
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                          - recurring
                        cron_expression:
                          type: string
                      required:
                      - type
                      - cron_expression
                  next_scheduled_time:
                    type: string
                    nullable: true
                required:
                - id
                - agent_id
                - message
                - schedule
                - next_scheduled_time
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer