Send a message in a conversation
Send a text, image, voice, or file message in a conversation. The client-generated message ID makes exact retries idempotent within the conversation and sender scope. Supports attachments, internal notes (visible only to your org), and reply threads. Updates unread counts and broadcasts to connected WebSocket clients. Labs may also deliver the message to one of the thread's reply endpoints (WhatsApp, SMS, Telegram, Messenger, Instagram or email); it is then queued for delivery.
Send a text, image, voice, or file message in a conversation. The client-generated message ID makes exact retries idempotent within the conversation and sender scope. Supports attachments, internal notes (visible only to your org), and reply threads. Updates unread counts and broadcasts to connected WebSocket clients. Labs may also deliver the message to one of the thread's reply endpoints (WhatsApp, SMS, Telegram, Messenger, Instagram or email); it is then queued for delivery.
Production session cookie set for the guidelab.co domain by Better Auth
In: cookie
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/conversations/550e8400-e29b-41d4-a716-446655440000/messages" \ -H "Content-Type: application/json" \ -d '{ "clientMessageId": "6751c24a-b4eb-49b8-a2cb-e2427e57e61b" }'{ "data": { "id": "string", "conversationId": "string", "partnershipId": "string", "orderId": "string", "senderUserId": "string", "senderOrgId": "string", "content": "string", "messageType": "string", "isInternal": true, "replyToId": "string", "createdAt": "string", "updatedAt": "string", "sender": { "id": "string", "name": "string", "nameMissing": true, "image": "string" }, "senderOrg": { "id": "string", "name": "string", "nameMissing": true, "organizationType": "string" }, "attachments": [ { "id": "string", "messageId": "string", "name": "string", "mimeType": "string", "size": 0, "duration": 0, "hasThumbnail": true, "transcript": "string", "createdAt": "string" } ], "replyTo": null, "channel": null }}Retry a failed channel delivery POST
Lab only. Queues one new delivery attempt of a message whose channel delivery failed. A delivery the provider may already have made is never resent.
Transcribe a voice attachment POST
Transcribe an audio attachment using OpenAI Whisper. Requires the organization to have AI assistance enabled, which is where the data-processing consent is recorded. The attachment may be a ready unsent upload claim owned by the current user or an attachment already sent in the conversation.