Mailbox API

Get a mailbox thread

Changed on

Returns thread metadata, message IDs, participants, last message, unread count, and state for one conversation. Responses include a weak ETag header.

get/mailbox/threads/{thread_id}

Request

  • Base URL: https://app.sendmux.ai/api/v1
  • URL: https://app.sendmux.ai/api/v1/mailbox/threads/{thread_id}
  • 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

thread_idstring required

Thread ID.

Query parameters

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

Thread

oktrue required

Example response

{
  "meta": {
    "request_id": "req_clxxxxxxxxxxxxxxxxxxxxxxxxx"
  },
  "data": {
    "last_message": {
      "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
        }
      ],
      "bcc": [
        {
          "email": "agent@example.com",
          "name": "Support"
        }
      ],
      "cc": [
        {
          "email": "agent@example.com",
          "name": "Support"
        }
      ],
      "from": {
        "email": "agent@example.com",
        "name": "Support"
      },
      "keywords": [
        "$seen",
        "$flagged",
        "agent_triaged"
      ],
      "to": [
        {
          "email": "agent@example.com",
          "name": "Support"
        }
      ]
    },
    "participants": [
      {
        "email": "agent@example.com",
        "name": "Support"
      }
    ]
  }
}

Changes

    • info

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

    • info

      added subschema #2 to the // response property anyOf list for the response 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

    • info

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