Upload Chat History
Upload a single conversation from any platform. Supports upsert semantics — re-sending a conversation with the same ID will update it with new messages. The conversation is processed asynchronously (chunked, embedded, and indexed for search).
Overview
Upload chat history from any platform to MemoryPlugin. This endpoint accepts a single conversation per request with your own unique identifiers for conversations and messages.Key features
- Upsert semantics: Re-sending a conversation with the same
conversation.idupdates it with any new messages rather than duplicating it. - Dynamic platform naming: Supply a
platformidentifier to group conversations by source. Each platform is scoped to your user account. - Full processing pipeline: Conversations are chunked, embedded, and indexed for semantic search — just like conversations imported via the browser extension.
Limits
- Conversations exceeding 100,000 tokens are rejected during background processing.
- Maximum payload size: 50 MB.
- Platform identifier: alphanumeric, hyphens, underscores, dots. Max 100 characters.
Processing
Conversations are processed asynchronously. The endpoint returns immediately withstatus: "queued". Background processing (chunking, embedding, vector indexing) typically completes within a few seconds for normal-sized conversations.
Example
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
The conversation to upload.
Platform identifier for your integration (e.g., 'my-slack-bot', 'internal-tool'). Alphanumeric, hyphens, underscores, dots. Max 100 chars. Defaults to 'custom' if omitted.
^[a-zA-Z0-9\-_.]{1,100}$"my-custom-app"
Human-readable display name for the platform shown in the UI. Max 200 chars. Overwrites previous value if supplied again for the same platform.
200"My Custom App"
Response
Conversation queued for processing