Conversations

List conversations

GET
/api/v1/conversations

Page through channel threads in your org, newest-updated first.

Authorization

bearerAuth
AuthorizationBearer <token>

An API key from Settings → Integrations → Webhook (org admins only), sent as Authorization: Bearer rf_org_….

The scope is ranked — a key satisfies any requirement at or below its own tier:

  • read — see leads, conversations, transcripts and handoffs. Never changes anything.
  • write — create and update leads, claim and resolve handoffs.
  • admin — mint and revoke tokens, and change org-wide integration settings.

There is no approve scope. It was a rung once; it is not one now, and a key requested with it is rejected.

Tokens are org-scoped: one sees every agent's leads in its org. There is no project dimension. The token is shown once at creation and stored only as a hash.

In: header

Query Parameters

limit?integer

Page size, 1–100. Defaults to 50.

Range1 <= value <= 100
Default50
cursor?string

Opaque cursor from a previous response's next_cursor. Omit for the first page.

lead_id?string

Only this lead's threads.

Formatuuid
channel?string

whatsapp | whatsapp_baileys | web | gmail

updated_after?string

Only conversations updated strictly after this RFC 3339 timestamp.

Formatdate-time

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/conversations"
{  "object": "list",  "data": [    {      "object": "conversation",      "id": "8c2d41aa-0f3e-4d61-9d0b-77b1c4e2a910",      "lead_id": "3f1c2e00-9a1b-4c77-8d2e-2b6a1f0e9c34",      "channel": "whatsapp",      "platform_thread_id": "[email protected]",      "created_at": "2026-07-15T09:30:00.000Z",      "updated_at": "2026-07-15T09:31:12.000Z"    }  ],  "next_cursor": null,  "url": "/api/v1/conversations"}