Passo Developers
Api

List the caller's conversations

GET
/conversations

Returns the message threads in the caller's workspace, newest activity first — each with its counterparty (the creator: id, display name, avatar), a last-message preview (body, author, time; null for an opened-but-empty thread) and the caller's unread count. The workspace is resolved from the request — an API key uses its own workspace; a user token selects one via the Passo-Workspace header. Optional creatorId narrows to a single creator's thread; optional q searches by the creator's name or handle (case-insensitive substring). Paginated via limit (default 20, max 100), offset, and the opaque keyset cursor from a previous page's nextCursor (null on the last page); total is the unpaginated count.

Authorization

AuthorizationBearer <token>

A Supabase-issued OAuth user access token. On collection endpoints, pair with a Passo-Workspace header to pick a workspace.

In: header

Header Parameters

Passo-Workspace?string

The workspace's public id (e.g. wsp_abc) to operate in. OAuth callers with more than one workspace must send it; a single-workspace caller may omit it. Ignored for API keys (the key is pinned to its workspace). A uuid or another resource's id is rejected with a 400.

Match^wsp_

Response Body

application/json

curl -X GET "https://example.com/conversations"
{  "conversations": [    {      "id": "string",      "createdAt": "string",      "lastMessageAt": "string",      "counterparty": {        "id": "string",        "displayName": "string",        "avatarUrl": "string"      },      "lastMessage": {        "body": "string",        "authorUserId": "string",        "createdAt": "string"      },      "unread": -9007199254740991    }  ],  "total": -9007199254740991,  "limit": -9007199254740991,  "offset": -9007199254740991,  "nextCursor": "string"}