# List domains

`GET https://api.signwithsigil.com/v1/domains`

Your custom signing domains and their verification status.

A verified domain can be passed as `domain_host` when creating a pact, so signers see your domain and branding. Domains are added and verified on the dashboard (a DNS TXT record), not through the API. Pro includes one and Business three; more can be added on the Billing page.

## Authorization

Header `Authorization: Bearer sgk_…` (or `X-Api-Key: sgk_…`).

## Response

`200 OK`: Every domain on the account, by host name.

- `data` (array of objects): The domains.
  - `host` (string): The custom domain, such as `sign.example.com`.
  - `status` (string): Only a `verified` domain can be used to send. One of: `pending`, `verified`, `disabled`.
  - `brand_name` (string | null): The name shown on signer pages and emails sent under it.
  - `date_verified` (string (date-time) | null): When its DNS record was verified.
  - `date_checked` (string (date-time) | null): When its DNS record was last checked.
- `total` (integer): How many there are.

## Errors

| Status | When |
|---|---|
| 401 | The API key is missing, wrong or revoked. |
| 403 | The account's plan does not include API access (Pro and Business do). |

Every error body is `{ "error": "message" }`.

## Example request

```bash
curl https://api.signwithsigil.com/v1/domains \
  -H "Authorization: Bearer $SIGIL_API_KEY"
```

## Example response

```json
{
  "data": [
    {
      "host": "sign.example.com",
      "status": "verified",
      "brand_name": "Example Co",
      "date_verified": "2026-10-02T18:20:31Z",
      "date_checked": "2026-10-02T18:20:31Z"
    },
    {
      "host": "contracts.example.org",
      "status": "pending",
      "brand_name": null,
      "date_verified": null,
      "date_checked": "2026-10-19T11:05:12Z"
    }
  ],
  "total": 2
}
```
