Mailbox API

Get clean message content

Changed on

Returns deterministic clean JSON content for one message. Attachment output is metadata only; attachment contents are not parsed by this endpoint.

get/mailbox/messages/{message_id}/content

Request

  • Base URL: https://app.sendmux.ai/api/v1
  • URL: https://app.sendmux.ai/api/v1/mailbox/messages/{message_id}/content
  • Auth: one of:
    • HTTP bearer
    • OAuth 2 (authorization code, authorization URL https://app.sendmux.ai/oauth/authorize, token URL https://app.sendmux.ai/oauth/token, scopes: mailbox.read)

Path parameters

message_idstring required

Message ID.

Query parameters

part'auto' | 'text' | 'html'

Body part to return. auto prefers text when available.

max_body_charsinteger

Maximum body characters to return before truncation.

strip_signatureboolean

When true, remove detected email signatures.

strip_quotesboolean

When true, remove quoted reply text.

include_linksboolean

When true, include links extracted from the body.

include_htmlboolean

When true, include HTML content when available.

include_headers'none' | 'selected' | 'full'

Header detail to include in the response.

include_attachments'none' | 'metadata'

Attachment detail to include. Contents are not returned.

mailbox_idstring

Mailbox public ID to target when the credential grants access to more than one mailbox. Omit when the credential is scoped to exactly one mailbox.

Headers

If-None-Matchstring

Weak ETag from a previous response. Returns 304 when unchanged.

Response

Clean message content

oktrue required

Example response

{
  "meta": {
    "request_id": "req_clxxxxxxxxxxxxxxxxxxxxxxxxx"
  },
  "data": {
    "attachments": [
      {
        "content_type": "application/pdf",
        "disposition": "attachment",
        "download_url": "https://app.sendmux.ai/api/v1/mailbox/messages/msg_123/attachment-downloads/attref_abc123?download_token=...",
        "filename": "invoice.pdf",
        "size_bytes": 12345
      }
    ],
    "headers": {
      "selected": {
        "reply_to": [
          {
            "email": "agent@example.com",
            "name": "Support"
          }
        ]
      }
    },
    "participants": {
      "bcc": [
        {
          "email": "agent@example.com",
          "name": "Support"
        }
      ],
      "cc": [
        {
          "email": "agent@example.com",
          "name": "Support"
        }
      ],
      "from": {
        "email": "agent@example.com",
        "name": "Support"
      },
      "reply_to": [
        {
          "email": "agent@example.com",
          "name": "Support"
        }
      ],
      "to": [
        {
          "email": "agent@example.com",
          "name": "Support"
        }
      ]
    }
  }
}

Changes

    • info

      added the required property /// to the response with the status

    • info

      added the required property /// to the response with the status

    • breaking

      the / response's property type changed from no type to object for status

    • info

      removed subschema #2 from the / response property allOf list for the response status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status

    • info

      added the required property // to the response with the status