InboxList inbound messages

List inbound messages

Newest first. Bodies are included; use GET /v1/inbox/threads for a lighter conversation list.

curl -X GET "https://api.supasend.io/v1/inbox/messages?mailbox_id=example_string&thread_id=example_string&email_job_id=user%40example.com&kind=reply&unread=true&since=2024-12-25T10%3A00%3A00Z&include_bodies=false&fresh=false&limit=50&offset=0" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY"
{
  "messages": [
    {
      "id": "example_string",
      "mailbox_id": "example_string",
      "thread_id": "example_string",
      "kind": "reply",
      "email_job_id": "user@example.com",
      "message_id": "example_string",
      "in_reply_to": "example_string",
      "references": [
        "example_string"
      ],
      "from": {
        "name": "John Doe",
        "email": "user@example.com"
      },
      "to": [
        {
          "name": "John Doe",
          "email": "user@example.com"
        }
      ],
      "cc": [
        {
          "name": "John Doe",
          "email": "user@example.com"
        }
      ],
      "reply_to": "example_string",
      "subject": "example_string",
      "snippet": "example_string",
      "body_text": "example_string",
      "body_html": "example_string",
      "reply_text": "example_string",
      "reply_html": "example_string",
      "body_truncated": true,
      "attachments": [
        {
          "index": 42,
          "filename": "John Doe",
          "content_type": "example_string",
          "size": 42,
          "is_inline": true,
          "content_id": "example_string"
        }
      ],
      "is_read": true,
      "received_at": "2024-12-25T10:00:00Z",
      "created_at": "2024-12-25T10:00:00Z"
    }
  ],
  "limit": 42,
  "offset": 42,
  "sync": [
    {
      "mailbox_id": "example_string",
      "stored": 42,
      "remaining": 42,
      "error": "example_string",
      "skipped": "example_string"
    }
  ]
}
GET
/v1/inbox/messages
GET
Base URLstring

Target server for requests. Edit to use your own host.

API Key (header: X-API-Key)
X-API-Keystring
Required

API key in the format sk_live_<64 hex characters>

API key in the format sk_live_<64 hex characters>
query
email_job_idstring

Only messages that directly answer this send

query
kindstring
Options: reply, inbound, bulk, bounce, auto_reply
query
sincestring

RFC3339 — only messages received at or after this time

Format: date-time
query
include_bodiesboolean

Include body_text, body_html and reply_html on list rows. Off by default — rows carry snippet and reply_text (the new content with quoted history stripped), which is what a list view needs. Fetch a single message for the full bodies.

query
freshboolean

Pull new mail from the provider (Google / Outlook / IMAP) before answering, so one call does "fetch from the mailbox and show me". Bounded to ~10 seconds; the response's sync array reports what happened per mailbox. Without it, results reflect the last scheduled pull (every 2 minutes by default).

Request Preview
Response

Response will appear here after sending the request

Authentication

header
X-API-Keystring
Required

API Key for authentication. API key in the format sk_live_\<64 hex characters\>

Query Parameters

email_job_idstring

Only messages that directly answer this send

kindstring
Allowed values:replyinboundbulkbounceauto_reply
sincestring

RFC3339 — only messages received at or after this time

include_bodiesboolean

Include body_text, body_html and reply_html on list rows. Off by default — rows carry snippet and reply_text (the new content with quoted history stripped), which is what a list view needs. Fetch a single message for the full bodies.

freshboolean

Pull new mail from the provider (Google / Outlook / IMAP) before answering, so one call does "fetch from the mailbox and show me". Bounded to ~10 seconds; the response's sync array reports what happened per mailbox. Without it, results reflect the last scheduled pull (every 2 minutes by default).

Responses

messagesarray
limitinteger
offsetinteger
syncarray

Present only when fresh=true was passed — one entry per mailbox considered