Inbox

List thread messages

Lists messages in the thread ordered from oldest to newest. Each message lists its attachments; download one with downloadMessageAttachment.

GET/v1/threads/{id}/messages

Authorization

bearerAuth
AuthorizationBearer <token>

Use an account API key in the Authorization header: Authorization: Bearer f_....

In: header

Path Parameters

idstring

Inbox thread id.

Formatuuid
curl -X GET "https://example.com/v1/threads/497f6eca-6276-4993-bfeb-53cbbbba6f08/messages"
{  "data": [    {      "id": "306a0f4d-2aca-4d34-ab18-53a4b50b10eb",      "thread_id": "f064bce3-eb45-4edf-b7d0-6d316846f4f6",      "direction": "sent",      "subject": "Furnace API thread",      "body_text": "First touch",      "from_email": "sender@example.com",      "to_email": "lead@example.com",      "received_at": "2026-05-21T17:59:00.000Z",      "attachments": [        {          "index": 0,          "filename": "bid.pdf",          "content_type": "application/pdf",          "size": 245644,          "downloadable": true,          "not_downloadable_reason": null        }      ]    }  ]}
{  "error": {    "type": "authentication_error",    "code": "invalid_api_key",    "message": "A valid Furnace API key is required"  }}
{  "error": {    "type": "invalid_request_error",    "code": "campaign_not_found",    "message": "Campaign not found"  }}
{  "error": {    "type": "rate_limit_error",    "code": "rate_limit_exceeded",    "message": "Rate limit exceeded for this account"  }}
{  "error": {    "type": "api_error",    "code": "internal_error",    "message": "Internal server error"  }}