# Retrieve Domain

`GET https://api.inboxjot.com/v1/domains/{domain_id}`

Retrieves one domain with its DNS records and their status. Needs a Full key. A key limited to one domain answers 403.

## Path Parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `domain_id` | string | Yes | The domain id. |

## Response

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | No | The domain id. |
| `name` | string | No | The domain, such as `acme.dev`. |
| `mail_from_domain` | string | No | The return path domain, such as `send.acme.dev`. |
| `status` | string | No | `not_started`, `pending`, `verified`, `failed` or `temporary_failure`. |
| `records` | object[] | No | The DNS records to add at your DNS provider. |
| `records[].kind` | string | No | What the record is for: `dkim`, `return_path`, `dmarc`, `tracking_cname` or `tracking_caa`. |
| `records[].type` | string | No | The DNS record type, such as `TXT` or `CNAME`. |
| `records[].name` | string | No | The host name to add. |
| `records[].value` | string | No | The value to add. |
| `records[].priority` | integer | No | The priority of an MX record. Other records leave it out. |
| `records[].status` | string | No | Whether the record was found: `not_started`, `pending`, `verified`, `failed` or `temporary_failure`. |
| `region` | string | No | The sending region, such as `us-east-1`. |
| `tls_policy` | string | No | `optional` sends over TLS when the receiving server supports it. `require` sends only over TLS. |
| `receiving_enabled` | boolean | No | Whether the domain receives email. |
| `receiving_target` | string | No | `subdomain` receives on `inbound.` plus the domain. `root` receives on the domain itself. |
| `receiving_status` | string | No | The status of the MX record for receiving: `not_started`, `pending`, `verified`, `failed` or `temporary_failure`. |
| `receiving_found_mx` | string \| null | No | The MX record found at the last check. |
| `receiving_checked_at` | string \| null | No | When the MX record was last checked. |
| `receiving_verified_at` | string \| null | No | When receiving was verified. |
| `open_tracking` | boolean | No | Whether opens are tracked. |
| `click_tracking` | boolean | No | Whether clicks are tracked. |
| `tracking_domain` | string \| null | No | The custom tracking domain, if you set one. |
| `tracking_status` | string | No | The status of the tracking domain: `not_started`, `pending`, `issuing`, `verified` or `failed`. |
| `tracking_records` | object[] | No | The DNS records for the tracking domain. |
| `tracking_records[].kind` | string | No | What the record is for: `dkim`, `return_path`, `dmarc`, `tracking_cname` or `tracking_caa`. |
| `tracking_records[].type` | string | No | The DNS record type, such as `TXT` or `CNAME`. |
| `tracking_records[].name` | string | No | The host name to add. |
| `tracking_records[].value` | string | No | The value to add. |
| `tracking_records[].priority` | integer | No | The priority of an MX record. Other records leave it out. |
| `tracking_records[].status` | string | No | Whether the record was found: `not_started`, `pending`, `verified`, `failed` or `temporary_failure`. |
| `tracking_verified_at` | string \| null | No | When the tracking domain was verified. |
| `mailing_address` | string \| null | No | The postal address in the footer of marketing email from this domain. Null uses the workspace address. |
| `verified_at` | string \| null | No | When the domain was verified. |
| `created_at` | string | No | When it was added. |
| `updated_at` | string | No | When it last changed. |
| `sent_last_30_days` | integer | No | Emails sent from the domain in the last 30 days. |
| `bounced_last_30_days` | integer | No | Bounces in the last 30 days. |
| `is_default` | boolean | No | True for the default sending domain of the workspace. |
| `receiving` | object | No | Where the domain receives email. |
| `receiving.host` | string | No | The host that receives email. |
| `receiving.mx` | string | No | The MX value to add for the host. |
| `receiving.shared_address` | string \| null | No | The shared inbound address of the workspace, if it has one. |
| `warmup` | object | No | The warmup of the domain. |
| `warmup.enabled` | boolean | No | Whether warmup is on. |
| `warmup.started_on` | string \| null | No | The date warmup started. |
| `warmup.day` | integer \| null | No | The day of warmup. |
| `warmup.limit` | integer \| null | No | The daily limit for today. |
| `warmup.next_limit` | integer \| null | No | The daily limit for tomorrow. |
| `warmup.sent_today` | integer | No | Emails sent from the domain today. |
| `warmup.full_volume_on` | string \| null | No | The date the domain reaches full volume. |

## Request

cURL:

```bash
curl -X GET https://api.inboxjot.com/v1/domains/dom_06d2mfk8r2bq7wz4hs9na \
  -H "Authorization: Bearer $INBOXJOT_API_KEY"
```

## Responses

| Status | Description |
| --- | --- |
| 200 | Returns the domain. |
| 400 | A path parameter is invalid. |
| 401 | The API key is missing, revoked or expired. |
| 403 | The key is a Sending key or is limited to one domain, or the request comes from outside its IP allowlist. |
| 404 | The domain does not exist in this workspace. |
| 429 | Too many requests for this key. Wait for the seconds in the Retry-After header. |
| 500 | Something failed on our side. Retry later. |

200:

```json
{
  "id": "dom_06d2mfk8r2bq7wz4hs9na",
  "name": "acme.dev",
  "mail_from_domain": "send.acme.dev",
  "status": "pending",
  "records": [
    {
      "kind": "dkim",
      "type": "TXT",
      "name": "inboxjot._domainkey.acme.dev",
      "value": "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA…",
      "status": "pending"
    },
    {
      "kind": "return_path",
      "type": "CNAME",
      "name": "send.acme.dev",
      "value": "send-us-east-1.inboxjot-dns.com",
      "status": "pending"
    },
    {
      "kind": "dmarc",
      "type": "TXT",
      "name": "_dmarc.acme.dev",
      "value": "\"v=DMARC1; p=none;\"",
      "status": "pending"
    }
  ],
  "region": "us-east-1",
  "tls_policy": "optional",
  "receiving_enabled": false,
  "receiving_target": "subdomain",
  "receiving_status": "not_started",
  "receiving_found_mx": null,
  "receiving_checked_at": null,
  "receiving_verified_at": null,
  "open_tracking": true,
  "click_tracking": true,
  "tracking_domain": null,
  "tracking_status": "not_started",
  "tracking_records": [],
  "tracking_verified_at": null,
  "mailing_address": null,
  "verified_at": null,
  "created_at": "2026-10-21T09:00:00.000Z",
  "updated_at": "2026-10-21T09:00:00.000Z",
  "sent_last_30_days": 0,
  "bounced_last_30_days": 0,
  "is_default": true,
  "receiving": {
    "host": "inbound.acme.dev",
    "mx": "inbound-smtp.us-east-1.amazonaws.com",
    "shared_address": null
  },
  "warmup": {
    "enabled": false,
    "started_on": null,
    "day": null,
    "limit": null,
    "next_limit": null,
    "sent_today": 0,
    "full_volume_on": null
  }
}
```

400:

```json
{
  "name": "validation_error",
  "status": 400,
  "message": "length is greater than 100",
  "errors": [
    {
      "message": "length is greater than 100",
      "location": "domain_id"
    }
  ],
  "request_id": "5f0c6a2e-8d1b-4c7a-9e3f-2b6d4a1c8e90"
}
```

401:

```json
{
  "name": "unauthorized",
  "status": 401,
  "message": "Unauthorized",
  "errors": [],
  "request_id": "5f0c6a2e-8d1b-4c7a-9e3f-2b6d4a1c8e90"
}
```

403:

```json
{
  "name": "forbidden",
  "status": 403,
  "message": "This key cannot be used from 203.0.113.7",
  "errors": [],
  "request_id": "5f0c6a2e-8d1b-4c7a-9e3f-2b6d4a1c8e90"
}
```

404:

```json
{
  "name": "not_found",
  "status": 404,
  "message": "Domain not found",
  "errors": [],
  "request_id": "5f0c6a2e-8d1b-4c7a-9e3f-2b6d4a1c8e90"
}
```

429:

```json
{
  "name": "rate_limit_exceeded",
  "status": 429,
  "message": "Too many attempts. Try again later.",
  "errors": [],
  "request_id": "5f0c6a2e-8d1b-4c7a-9e3f-2b6d4a1c8e90"
}
```

500:

```json
{
  "name": "unknown_error",
  "status": 500,
  "message": "Something went wrong. Please try again later.",
  "errors": [],
  "request_id": "5f0c6a2e-8d1b-4c7a-9e3f-2b6d4a1c8e90"
}
```
