Skip to content

Shared-inbox feed; recent threads across every org inbox

GET
/v1/admin/orgs/{org_id}/projects/{project_id}/threads

Uses bounded per-inbox fan-out, tags each thread with its inbox, and merges them newest-first with a stable global keyset cursor.

org_id
required
string
project_id
required
string
limit
integer
default: 50 >= 1 <= 100

Page size for the cursor-paginated agent surface (default 50; clamped to the 1-100 range).

cursor
string

Opaque pagination cursor echoed back from a prior next_cursor. Treat it as an opaque token; pass it back verbatim as ?cursor to fetch the next page.

Ok

Stable keyset page merged newest-first across the active project’s inboxes.

object
threads
Array<object>

One row in the shared-inbox feed, tagged with its owning inbox.

object
id
string
inbox
string
subject
string
participants
Array<string>
message_count
integer
last_message_at
string
snippet
string
unread
boolean
last_message_id
string
last_message_has_attachments
boolean
total
integer
inbox_count
integer
next_cursor

Opaque global keyset cursor; pass back unchanged.

string
partial_failure
boolean
failed_inboxes
Array<string>

Missing or invalid credential.

The canonical error envelope. error is a stable machine code.

object
error
required

Stable error code (e.g. unauthorized, forbidden, not_found, invalid, quota_exceeded, rate_limited).

string
Example
forbidden
message

Human-readable detail (never leaks internals).

string
Example
missing required scope

A mailbox or thread exceeds a documented traversal safety limit.