POST · Bearer

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

Summary

Release a message that inbound screening held. Removes the held label, then fires message.received and creates a task when the sender is a verified owner or allowlisted sender who passes the inbox sender-auth check. The suspicious label stays. A message that is not held returns 409 message_not_held and does not fire a webhook or create a task. Calling release again returns the same 409. Another account's inbox returns 404 inbox_not_found. An unknown message returns 404 message_not_found. The body stays untrusted data. Screening is a heuristic, not a guarantee, and it never drops mail on its own.

Request

This call has no JSON body.

Response

HTTP 200. 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 409 message_not_held
  • HTTP 404 inbox_not_found
  • HTTP 404 message_not_found

Idempotency

This route does not document Idempotency-Key or client_id.