Fetches a single conversation by id.
Returns 404 when the conversation does not exist in the tenant. Counts and senders are tenant-wide (no scope filter applied) since the caller asked for a specific row.
Authorization
Bearer JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.
In: header
Path Parameters
The conversation row id.
uuidThe tenant identifier
Response Body
curl -X GET "https://api.fruxon.com/v1/tenants/string/conversations/497f6eca-6276-4993-bfeb-53cbbbba6f08"{
"id": "00000000-0000-0000-0000-000000000000",
"integrationId": "string",
"address": "string",
"name": "string",
"messagesCount": 0,
"lastMessageCreatedAt": 0,
"senders": [
{
"key": "string",
"name": "string"
}
]
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}Lists conversations observed in the tenant.
Returns observed threads keyed by `(integrationId, address)`. All filters are AND'd together when supplied. `MessagesCount` / `Senders` / `LastMessageCreatedAt` are scoped to the same filter, so a per-config picker sees only what flowed through that config. Pass `onlyDiscovered=true` to surface chats the credentials can see but no traffic has arrived on yet (provider discovery seeded the row via Fruxon.Model.Messaging.Conversations.ConversationDiscoveryDispatcher).
Lists messages on a specific conversation, oldest first.
Returns every observed message tied to this conversation row (excluding scheduled-job dispatches), sorted ascending by `CreatedAt` so the natural read order is top-down. Empty list when the conversation has no messages (discovery-only row).