Skip to content
Open app

List email inbox threads

GET
/v1/email/threads

Cursor-paginated email threads. Read-only. Requires scope email:read.

after
integer
limit
integer
default: 25 >= 1 <= 50
status
string
Allowed values: open pending closed
contactId
integer
unreadOnly
boolean
q
string

Paginated thread list.

object
items
Array<object>
object
id
integer
subject
string
preview
string
nullable
status
string
Allowed values: open pending closed
unreadCount
integer
isStarred
boolean
contactId
integer
nullable
assignedToUserId
integer
nullable
aiLeadScore
integer
nullable
lastMessageAt
string format: date-time
nextCursor
integer
nullable
hasMore
boolean

Missing or invalid bearer token.

Standard error envelope for all v1 error responses.

object
error

Machine-readable error code.

string
Allowed values: bad_request not_found conflict unauthorized forbidden rate_limited internal_error
message

Human-readable explanation of the error.

string
details

Optional structured context (field-level validation errors, etc.).

nullable
Example
{
"error": "unauthorized",
"message": "Invalid bearer principal"
}

The API key does not have the required scope for this operation.

Standard error envelope for all v1 error responses.

object
error

Machine-readable error code.

string
Allowed values: bad_request not_found conflict unauthorized forbidden rate_limited internal_error
message

Human-readable explanation of the error.

string
details

Optional structured context (field-level validation errors, etc.).

nullable
Example
{
"error": "forbidden",
"message": "scope contacts:write is required"
}