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

# Create an inbox

> POST /v1/inboxes — create a receive address on a receiving-enabled domain.

Give a receiving-enabled domain a real address that can take mail in. Once created, inbound messages to it land in threads you can read and reply to.

**`POST /v1/inboxes`**

An inbox is an address on a domain that has [receiving](/api-reference/domains/receiving) turned on. The address's domain part must match a domain you own and that domain's MX record must resolve to Drin before mail will route in.

## Body

<ParamField body="address" type="string" required>
  The full receive address, for example `support@acme.com`. Its domain must be a receiving-enabled domain you own.
</ParamField>

<ParamField body="domainId" type="string" required>
  The id of the receiving domain this inbox belongs to.
</ParamField>

<ParamField body="displayName" type="string">
  A human-friendly name shown alongside the address, for example `Acme Support`.
</ParamField>

## Request

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.drin.run/v1/inboxes \
    -H "Authorization: Bearer $DRIN_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "address": "support@acme.com",
      "domainId": "dom_01HZ8K3M9P",
      "displayName": "Acme Support"
    }'
  ```

  ```typescript Node.js theme={null}
  import { DrinClient } from "@drin00/sdk";

  const drin = new DrinClient({ apiKey: process.env.DRIN_API_KEY });

  const inbox = await drin.inboxes.create({
    address: "support@acme.com",
    domainId: "dom_01HZ8K3M9P",
    displayName: "Acme Support",
  });

  console.log(inbox.id, inbox.address);
  ```
</CodeGroup>

## Response

`201 Created` — the inbox. Pass its `id` as `?inboxId=` when [listing threads](/api-reference/threads/list) to scope the feed to this address.

```json theme={null}
{
  "id": "inb_01HZ9C7R2K",
  "senderId": "snd_01HZ0A1B2C",
  "domainId": "dom_01HZ8K3M9P",
  "address": "support@acme.com",
  "displayName": "Acme Support",
  "type": "sending",
  "createdAt": "2026-06-02T09:12:00Z"
}
```

<Note>
  **Test without DNS.** You can exercise the whole inbound path — inbox to thread to webhook — without waiting on MX by calling [simulate inbound](/api-reference/inbound/simulate).
</Note>
