List email messages
org.intentschema.communication.email.message.list.v1
JSON: bare · @sha256:0ef05293f1c2…
Hash: sha256:0ef05293f1c2eaf0da45b9e49fac69534ca7aad5cccff2475a807d2d26706b5e
Searches a user's mailbox and returns message summaries matching the given query and structured filter.
Payload
| Field | Type | Description |
target * | Target | |
object | object | |
object
| Field | Type | Description |
query | string | Provider-specific search string (Gmail syntax, JMAP filter string, Outlook KQL). Applied alongside `filter` if both are provided. |
filter | object | Structured filter, JMAP-inspired. |
limit | integer (minimum 1; maximum 500; default 50) | |
cursor | string | Opaque pagination cursor returned by a prior search. |
filter
| Field | Type | Description |
from | string | |
to | string | |
subject | string | |
body | string | |
has_attachment | boolean | |
is_unread | boolean | |
after | string (date-time) | |
before | string (date-time) | |
labels_any | string[] | |
labels_all | string[] | |
Result
| Field | Type | Description |
messages * | object[] | |
next_cursor | string | Present when more results are available. |
estimated_total | integer | Optional provider estimate of total matches. |
messages[]
| Field | Type | Description |
external_id * | string | |
thread_id | string | |
from | string (email) | RFC 5321 mailbox. Plain address (jane@example.com) or with display name ("Jane Doe" <jane@example.com>). |
to | string (email)[] | |
subject * | string | |
snippet | string | Short plaintext preview of the body. |
date | string (date-time) | |
labels | string[] | |
is_unread | boolean | |
has_attachments | boolean | |
Examples
query-string search
{
"target": {
"system": "gmail"
},
"object": {
"query": "from:jane@example.com is:unread",
"limit": 20
}
}
structured filter with pagination
{
"target": {
"system": "gmail"
},
"object": {
"filter": {
"from": "jane@example.com",
"has_attachment": true,
"after": "2026-01-01T00:00:00Z"
},
"limit": 50,
"cursor": "opaque-cursor-from-prior-result"
}
}
Profiles