POST · Bearer

POST /api/v1/inboxes/:id/messages/:msgId/forward

Summary

Forward on a new thread. to is required (400 missing_to). Subject defaults to Fwd: plus the original subject unless it already starts with fwd: or fw:. The body adds a forwarded header block and the original text or html. include_attachments defaults to true and copies the original files. More than 10 files, a file over 4 MiB, or a message over 5 MiB returns 400 attachments_too_large. Allow and block lists are checked; 403 recipient_blocked sends nothing. client_id retries do not send twice. Idempotency-Key works the same way as on send (example: Idempotency-Key: fwd-001).

Request

{
  "to": [
    "other@example.com"
  ],
  "text": "Sharing this.",
  "include_attachments": true,
  "client_id": "fwd-001"
}

Response

HTTP 201. Sample values illustrate the schema.

{
  "id": "inb_example",
  "inbox_id": "inb_example",
  "thread_id": "thr_example",
  "direction": "inbound",
  "from": "ada@example.com",
  "to": [
    "string"
  ],
  "subject": "Hello",
  "text": "Tuesday works.",
  "html": "string",
  "extracted_text": "string",
  "extracted_html": "string",
  "preview": "string",
  "delivery_events": [
    {
      "type": "string",
      "recipient": "string",
      "created_at": "2026-10-18T12:00:00.000Z",
      "detail": "string"
    }
  ],
  "cc": [
    "string"
  ],
  "bcc": [
    "string"
  ],
  "reply_to": "string",
  "in_reply_to": "string",
  "references": [
    "string"
  ],
  "labels": [
    "string"
  ],
  "auth": {
    "spf": "string",
    "dkim": "string",
    "dmarc": "string"
  }
}

Errors

  • HTTP 400 missing_to
  • HTTP 400 attachments_too_large
  • HTTP 403 recipient_blocked

Idempotency

Idempotency-Key is 1 to 256 characters of letters, digits, and - . _ ~. The same key and the same request within 24 hours returns the original response with HTTP 200 and Idempotent-Replayed: true. A different request is HTTP 409 idempotency_key_conflict. A second call while the first is running is HTTP 409 idempotency_request_in_progress. An empty or invalid key is HTTP 400 invalid_idempotency_key. client_id is checked first when both are set.