POST /inbox/conversations/{id}/read
Mark the conversation read in Postgale (unreadCount 0) and, unless platform is false, as seen on Meta (mark_seen; WhatsApp: the latest inbound message is marked read; best effort: a failure or a closed messaging window is returned in warnings)
BearerAuthAuthorizationBearer <token>API key sk_...
id*stringConversation id
application/json- body
platform?booleanfalse: only mark read in Postgale
true{conversation, warnings?}
application/json- response
conversation?warnings?array<string>curl -X POST 'https://example.com/api/v1/inbox/conversations/string/read' \ -H 'Content-Type: application/json' \ -d '{}'{ "conversation": { "id": "string", "accountId": "string", "platform": "instagram", "platformConversationId": "string", "participant": { "id": "string", "username": "string", "name": "string", "pictureUrl": "string", "phone": "string", "userId": "string", "parentUserId": "string" }, "lastMessage": { "text": "string", "direction": "inbound", "at": "2019-08-24T14:15:22Z" }, "unreadCount": 0, "lastReadAt": "2019-08-24T14:15:22Z", "participantReadAt": "2019-08-24T14:15:22Z", "status": "active", "messagingWindow": { "open": true, "closesAt": "2019-08-24T14:15:22Z", "humanAgentClosesAt": "2019-08-24T14:15:22Z" }, "syncedAt": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }, "warnings": [ "string" ]}POST /inbox/conversations/{id}/messages POST
Send a LIVE direct message to the participant: text (Instagram ≤1000, Messenger ≤2000 characters) or one attachment (mediaUrl or mediaId), not both. Allowed within 24 hours of the participant's last message, or within 7 days with tag HUMAN_AGENT (needs Meta's Human Agent permission); otherwise 409 outside_messaging_window without calling Meta. WhatsApp conversations take the WhatsAppOutbound fields (text ≤4096, mediaUrl / mediaId / whatsappMediaId with caption, template, interactive, location or reaction, replyTo; no tag): within 24 hours anything, outside only a template. 403 approval_required while approval applies; 403 missing_permission without the messaging permission. Emits message.sent
POST /inbox/conversations/{id}/sync POST
Fetch the latest messages of one conversation from Meta (needs platformConversationId from an account sync, else 409 sync_required). No customer webhooks are emitted