Skip to content

List messages in a Thread

GET
/api/v1/mail/threads/{id}/messages
curl --request GET \
--url https://example.com/api/v1/mail/threads/example/messages \
--header 'Authorization: Bearer <token>'

Requires a signed-in User. It returns one page of messages in the Thread and a cursor for the next page. It accepts a page size and paired message cursor. It returns 400 for invalid values or a Category filter, or 404 when the Thread is missing. Route: /api/v1/mail/threads/{id}/messages. Inputs: id, before_received_ms, before_id, limit, category. Safe reads can use bounded retries.

id
required
string
before_received_ms
integer format: int64
before_id
string
limit
integer
category
string

Omit to include every category. The unified Inbox defaults to People.

Media typeapplication/json
object
items
required
Array<object>
object
account_id
required
string
attachment_count
required
integer format: int32
bcc
required
Array
body_truncated
required
boolean
category
required
string
cc
required
Array
flags
required
Array<string>
folder_id
required
string
from
required
Array
id
required
string
labels
required
Array<string>
preview
required
string
received_ms
required
integer format: int64
sent_date_ms
integer | null format: int64
subject
required
string
thread_id
required
string
to
required
Array
next
One of:
object
id
required
string
received_ms
required
integer format: int64
Examplegenerated
{
"items": [
{
"account_id": "example",
"attachment_count": 1,
"bcc": [
"example"
],
"body_truncated": true,
"category": "example",
"cc": [
"example"
],
"flags": [
"example"
],
"folder_id": "example",
"from": [
"example"
],
"id": "example",
"labels": [
"example"
],
"preview": "example",
"received_ms": 1,
"sent_date_ms": 1,
"subject": "example",
"thread_id": "example",
"to": [
"example"
]
}
],
"next": {
"id": "example",
"received_ms": 1
}
}
Media typeapplication/json

The standard API error response: { "error": { ... } }.

object
error
required

Error details.

object
code
required

Stable machine-readable code.

string
Allowed values: bad_request unauthorized forbidden not_found conflict name_conflict_case name_too_long push_endpoint_rejected too_many_requests internal service_unavailable
details
One of:

Optional field or operation details.

object
key
additional properties
string
message
required

Safe text for logs or a user-facing error message.

string
Example
{
"error": {
"code": "bad_request"
}
}
Media typeapplication/json

The standard API error response: { "error": { ... } }.

object
error
required

Error details.

object
code
required

Stable machine-readable code.

string
Allowed values: bad_request unauthorized forbidden not_found conflict name_conflict_case name_too_long push_endpoint_rejected too_many_requests internal service_unavailable
details
One of:

Optional field or operation details.

object
key
additional properties
string
message
required

Safe text for logs or a user-facing error message.

string
Example
{
"error": {
"code": "bad_request"
}
}