> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gork.email/llms.txt
> Use this file to discover all available pages before exploring further.

# Send Message

> Send an outbound email or automated reply from any active inbox.

Dispatch an email message from one of your provisioned inboxes. The outbound message is automatically signed with your organization's DKIM keys and wrapped in loop-suppression headers to prevent infinite mail loops.

### Headers

<ParamField header="Authorization" type="string" required>
  Bearer token formatted as `Bearer gk_live_...` or scoped inbox key `Bearer gk_box_...`.
</ParamField>

<ParamField header="Idempotency-Key" type="string">
  Optional unique UUID string (max 255 chars) to prevent double sending on network retry.
</ParamField>

### Body

<ParamField body="inboxId" type="string" required>
  The unique ID of the inbox sending the email (e.g. `inbox_8f29ac01...`).
</ParamField>

<ParamField body="to" type="string[]" required>
  Array of recipient email addresses. Max 50 recipients per request.
</ParamField>

<ParamField body="subject" type="string" default="(no subject)">
  The subject line of the email. Max 500 characters.
</ParamField>

<ParamField body="text" type="string">
  Plain text body of the email.
</ParamField>

<ParamField body="html" type="string">
  Rich HTML body. Automatically sanitized before dispatch.
</ParamField>

<ParamField body="cc" type="string[]">
  Array of CC recipient email addresses.
</ParamField>

<ParamField body="bcc" type="string[]">
  Array of BCC recipient email addresses.
</ParamField>

<ParamField body="inReplyTo" type="string">
  Optional message or thread ID to preserve email threading and headers (`In-Reply-To`, `References`).
</ParamField>

### Response

<ResponseField name="data" type="object">
  <Expandable title="properties">
    <ResponseField name="id" type="string">
      Unique ID of the dispatched message (`msg_...`).
    </ResponseField>

    <ResponseField name="threadId" type="string">
      Unique ID of the conversation thread (`thrd_...`).
    </ResponseField>

    <ResponseField name="status" type="string">
      Delivery status, typically `sent` or `queued`.
    </ResponseField>

    <ResponseField name="createdAt" type="string">
      ISO 8601 creation timestamp.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://api.gork.email/v1/messages/send \
    -H "Authorization: Bearer gk_live_YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "inboxId": "inbox_728af980b4e",
      "to": ["prospect@acmecorp.com"],
      "subject": "Quick question regarding agent fleet scaling",
      "text": "Hi Alex,\n\nI noticed you are scaling your customer support agents..."
    }'
  ```

  ```typescript TypeScript theme={null}
  import { GorkClient } from "@gorkmail/sdk"

  const client = new GorkClient({ apiKey: process.env.GORK_API_KEY })

  const message = await client.messages.send({
    inboxId: "inbox_728af980b4e",
    to: ["prospect@acmecorp.com"],
    subject: "Quick question regarding agent fleet scaling",
    text: "Hi Alex,\n\nI noticed you are scaling your customer support agents..."
  })
  ```

  ```python Python theme={null}
  from gorkmail import GorkClient

  client = GorkClient(api_key="gk_live_YOUR_API_KEY")

  message = client.messages.send(
      inbox_id="inbox_728af980b4e",
      to=["prospect@acmecorp.com"],
      subject="Quick question regarding agent fleet scaling",
      text="Hi Alex,\n\nI noticed you are scaling your customer support agents..."
  )
  ```
</RequestExample>

<ResponseExample>
  ```json 201 Created theme={null}
  {
    "data": {
      "id": "msg_90e38dfb4a2c",
      "threadId": "thrd_128bca90f4",
      "inboxId": "inbox_728af980b4e",
      "direction": "outbound",
      "status": "sent",
      "createdAt": "2026-09-07T12:00:00.000Z"
    }
  }
  ```
</ResponseExample>
