Messages

List messages

GET https://getinboxtriage.com/api/inboxes/{id}/messages

Lists synced messages, newest first, one page at a time. Reads the local copy and does not call the provider.

Rows have no body. Get one message to read its body. Rows from VIP senders have vip: true. Pass ids instead to read up to 10 full bodies in one call: the response is then { messages, missing } instead of a page, where messages is in the same shape as Get a message and missing lists any ids not found. ids are fetched one at a time server-side (not in parallel), to respect provider rate limits.

Headers

NameTypeRequiredDescription
Authorization string Required Bearer followed by your API key.

Path parameters

NameTypeRequiredDescription
id string Required Inbox id from List inboxes, like inbox_lx2k9a1b.

Query parameters

NameTypeRequiredDescription
unreadOnly string Optional "true" for unread only.
query string Optional Text to match in subject, sender, or preview. Searches the synced window only.
folder string Optional Limit to one synced folder, like INBOX.
since string Optional Full ISO date-time (like 2026-09-26T00:00:00.000Z). Only messages dated on or after this, so a poller should dedupe by id: the message at exactly this date is included again, since two messages can share a stored timestamp. For cheap polling, pass the newest date you have already seen, or that date minus one second to skip the dedupe step.
limit number Optional Page size. Default 50, max 200.
offset number Optional Where to start. Pass nextOffset from the last page.
ids string Optional Comma-separated message ids, up to 10. Returns full bodies instead of a page; see notes.

Response

200 OK.

NameTypeDescription
inboxId string The inbox you asked for.
folder string Only when you passed folder.
total number Matching messages across all pages.
offset number Start of this page.
limit number Page size used.
hasMore boolean true when another page follows.
nextOffset number | null offset for the next page.
messages object[] Message rows: id, threadId, folder, from, to, subject, date, snippet, isRead, labels, attachments, and vip: true for VIP senders.

Errors

StatusErrorMeaning
400 invalid_request since must be a full ISO date-time, like 2026-09-26T00:00:00.000Z.
404 inbox_not_found The inbox id is wrong or the inbox was removed.
409 inbox_paused The person paused this inbox. They resume it on the Inboxes page.

Any route can also return 401 for a bad key, 402 when the trial ended or payment failed, and 429 when you send too many requests. See Errors.