/api/public/v1/conversationsList conversations
The channels, direct messages and group chats the token’s employee belongs to, most recent activity first. Membership is the access rule rather than the scope: this is that person’s inbox, not the company’s, and a channel they are not in is simply absent. `threads:admin` additionally keeps archived channels visible, so a moderator can still reach one to restore or delete it. `title` is derived rather than stored — a DM or group has no name of its own, so it is built from who is in it, from the reader’s point of view. A DIRECT or GROUP conversation somebody opened in the composer but never sent to stays invisible to everyone but its initiator until the first message goes.
Required scope
The access token must carry this scope. A token missing it gets 403 Forbidden. Grant them to an API client under Settings → Company → API, and to a teammate under Employee → Permissions.
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
limit | number | Optional | Maximum number of items to return (1-100).Default: 20 |
offset | number | Optional | Number of items to skip before starting to collect the result set.Default: 0 |
sortBy | string | Optional | Field to sort by. Allowed values vary by endpoint.Default: createdAt |
sortOrder | string asc desc | Optional | Sort direction.Default: desc |
search | string | Optional | Free-text search across the resource’s primary fields. |
createdAfter | string | Optional | ISO 8601 timestamp — only return items created after this time. |
createdBefore | string | Optional | ISO 8601 timestamp — only return items created before this time. |
updatedAfter | string | Optional | ISO 8601 timestamp — only return items updated after this time. |
type | string CHANNEL DIRECT GROUP | Optional | CHANNEL is a named room; DIRECT is 1:1; GROUP is a multi-person DM. |
curl -X GET "https://www.pxb.app/api/public/v1/conversations" \
-H "Authorization: Bearer your_access_token"{
"message": "Conversations retrieved successfully!",
"content": {
"conversations": [
{
"id": "cnv_5150",
"referenceId": 88,
"type": "CHANNEL",
"title": "engineering",
"name": "engineering",
"topic": "Shipping things",
"description": null,
"visibility": "PUBLIC",
"isArchived": false,
"lastMessageAt": "2026-08-29T18:22:00.000Z",
"memberEmployeeIds": [
"emp_12ab",
"emp_44f1"
],
"createdAt": "2026-01-08T09:00:00.000Z"
}
],
"pagination": {
"total": 42,
"limit": 20,
"offset": 0,
"hasMore": true
}
}
}In the console
The same thing done by hand, for anyone comparing the API against the screen they already use.