Skip to main content

Conversation

Create and manage saved conversations. Use the returned ID as conversationId to save participant messages, and as sessionId to analyze them. The SDKs manage message persistence automatically when enabled.

📄️Append completed conversation messages

Owner-only dialogue persistence without model calls or credit requirements. Widget conversations cannot be modified through this endpoint. Use the nextMessageId counter from GET /api/conversation/messages and coordinate one writer per conversation. Numeric message IDs are unique within a conversation. Identical retries preserve the original row; changed text or speakerIndex returns 409 and rolls back the batch. Send complete messages, including greetings and replies. Tools and internal context are not dialogue. Speaker indexes identify participants; role uses the model conversation convention (user for a customer, assistant for an agent) and supplies the default index (user 1, assistant 0) when no index is provided. This differs from /api/analyze, where all transcript participants use speakerRole:user and assistant denotes previous analyses. Analyze a saved message with transcriptMessageId and its matching speakerIndex.