How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Letta Messages API

Send messages, list message history, search, and batch operations.

Letta Messages API is one of 41 APIs that Letta publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 14 JSON Schema definitions.

Tagged areas include Message. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, pricing, a changelog, and 14 JSON Schemas.

This API exposes 8 operations across 7 paths, and defines 58 schemas. It is described by OpenAPI 3.1.0, at version 1.0.0.

Requests are made against 3 base URLs: https://api.letta.com, https://app.letta.com, http://localhost:8283.

8 operations 7 paths 58 schemas 5 GET1 PATCH2 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
1.0.0
Base URL
https://api.letta.com
Authentication
HTTP Bearer
Contact
License
Resource Areas
1

Authentication & Security 1

Letta Messages API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (bearerAuth). By default, every request must be authenticated.

Paths & Operations 8

Across 7 paths, the API surfaces 8 operations — 5 GET, 1 PATCH, 2 POST. Each is listed below with its method, path, parameters, and response codes.

Messages 8

Send messages, list message history, search, and batch operations.

GET
/v1/messages/
List All Messages
list_all_messages 6 params → 200422
POST
/v1/messages/search
Search All Messages
search_all_messages body → 200422
POST
/v1/messages/batches
Create Batch
create_batch body → 200422
GET
/v1/messages/batches
List Batches
list_batches 5 params → 200422
GET
/v1/messages/batches/{batch_id}
Retrieve Batch
retrieve_batch 1 param → 200422
GET
/v1/messages/batches/{batch_id}/messages
List Messages for Batch
list_messages_for_batch 7 params → 200422
PATCH
/v1/messages/batches/{batch_id}/cancel
Cancel Batch
cancel_batch 1 param → 200422
GET
/v1/messages/{message_id}
Retrieve Message
retrieve_message 1 param → 200422

Schemas 58

The contract defines 58 schemas that model the data the API accepts and returns. The most detailed are Message (25 properties), BatchJob (18 properties), LettaBatchRequest (17 properties), ToolReturnMessage (16 properties). Each schema is shown below with its type and property counts.

ApprovalReturn
object
4 properties 2 required
CreateBatch
object
2 properties 1 required
SystemMessage
object
A message generated by the system. Never streamed back on a response, only used for cursor pagination. Args: id (str): The ID of the message date (datetime): T…
11 properties 3 required
CompactionStats
object
Statistics about a memory compaction operation.
6 properties 4 required
MessageRole
string
ToolReturnContent
object
4 properties 3 required
ImageContent
object
2 properties 1 required
LettaBatchRequest
object
17 properties 1 required
LettaBatchMessages
object
1 property 1 required
AssistantMessage
object
A message sent by the LLM in response to user input. Used in the LLM context. Args: id (str): The ID of the message date (datetime): The date the message was c…
11 properties 3 required
BatchJob
object
18 properties
Message
object
Letta's internal representation of a message. Includes methods to convert to/from LLM provider formats. Attributes: id (str): The unique identifier of the mess…
25 properties 1 required
ToolCallDelta
object
3 properties
JobStatus
string
Status of the job.
ToolReturnCreate
object
Submit tool return(s) from client-side tool execution. This is the preferred way to send tool results back to the agent after client-side tool execution. It is…
4 properties 1 required
UserMessage
object
A message sent by the user. Never streamed back on a response, only used for cursor pagination. Args: id (str): The ID of the message date (datetime): The date…
11 properties 3 required
letta__schemas__letta_message__ToolReturn
object
6 properties 3 required
HTTPValidationError
object
1 property
TextContent
object
3 properties 1 required
ToolCallContent
object
5 properties 3 required
LettaUserMessageContentUnion
LettaMessageContentUnion
HiddenReasoningMessage
object
Representation of an agent's internal reasoning where reasoning content has been hidden from the response. Args: id (str): The ID of the message date (datetime…
12 properties 3 required
SystemMessageListResult
object
System message list result with agent context. Shape is identical to UpdateSystemMessage but includes the owning agentid and message id.
6 properties 3 required
ToolReturnMessage
object
A message representing the return value of a tool call (generated by Letta executing the requested tool). Args: id (str): The ID of the message date (datetime)…
16 properties 5 required
UserMessageListResult
object
User message list result with agent context. Shape is identical to UpdateUserMessage but includes the owning agentid and message id.
6 properties 3 required
OmittedReasoningContent
object
A placeholder for reasoning content we know is present, but isn't returned by the provider (e.g. OpenAI GPT-5 on ChatCompletions)
2 properties
EventMessage
object
A message for notifying the developer that an event that has occured (e.g. a compaction). Events are NOT part of the context window.
12 properties 4 required
ToolCallMessage
object
A message representing a request to call a tool (generated by the LLM to trigger tool execution). Args: id (str): The ID of the message date (datetime): The da…
12 properties 3 required
MessageType
string
LettaToolReturnContentUnion
ApprovalResponseMessage
object
A message representing a response form the user indicating whether a tool has been approved to run. Args: id (str): The ID of the message date (datetime): The…
14 properties 2 required
ReasoningMessage
object
Representation of an agent's internal reasoning. Args: id (str): The ID of the message date (datetime): The date the message was created in ISO format name (Op…
13 properties 3 required
RedactedReasoningContent
object
Sent via the Anthropic Messages API
2 properties 1 required
Base64Image
object
4 properties 2 required
ClientToolSchema
object
Schema for a client-side tool passed in the request. Client-side tools are executed by the client, not the server. When the agent calls a client-side tool, exe…
3 properties 1 required
SummaryMessage
object
A message representing a summary of the conversation. Sent to the LLM as a user or system message depending on the provider.
12 properties 3 required
MessageCreate
object
Request to create a message
8 properties 2 required
SearchAllMessagesRequest
object
7 properties 1 required
JobType
string
letta__schemas__message__ToolReturn-Output
object
5 properties 1 required
ValidationError
object
3 properties 3 required
ReasoningMessageListResult
object
Reasoning message list result with agent context. Shape is identical to UpdateReasoningMessage but includes the owning agentid and message id.
6 properties 3 required
ApprovalRequestMessage
object
A message representing a request for approval to call a tool (generated by the LLM to trigger tool execution). Args: id (str): The ID of the message date (date…
12 properties 3 required
LettaImage
object
5 properties 1 required
Function-Output
object
The function that the model called.
2 properties 2 required
UrlImage
object
2 properties 1 required
ClientSkillSchema
object
Schema for a client-side skill passed in the request. Client-side skills represent environment-provided capabilities (e.g. project-scoped skills) that are not…
3 properties 3 required
LettaMessageUnion
LettaAssistantMessageContentUnion
SummarizedReasoningContent
object
The style of reasoning content returned by the OpenAI Responses API
4 properties 2 required
ReasoningContent
object
Sent via the Anthropic Messages API
4 properties 2 required
ChatCompletionMessageFunctionToolCall-Output
object
A call to a function tool created by the model.
3 properties 3 required
AssistantMessageListResult
object
Assistant message list result with agent context. Shape is identical to UpdateAssistantMessage but includes the owning agentid and message id.
6 properties 3 required
ToolCall
object
3 properties 3 required
ApprovalCreate
object
Input to approve or deny a tool call request
7 properties
StopReasonType
string
SummarizedReasoningContentPart
object
2 properties 2 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

letta-messages-api-openapi.yml Raw ↑

Other APIs Letta publishes across the network.

Letta Code
Letta Admin API
Letta Agents API
Letta Archives API
Letta Blocks API
Letta Chat API
Letta Client-Side Access Tokens API
Letta Conversations API
Letta Device Storage API
Letta Embeddings API
Letta Environments API
Letta Feeds API
Where this information came from

This is an independent, third-party profile of Letta Messages API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.