---
title: "List domains"
method: GET
path: "/v1/domains"
tags: ["domains"]
---

# List domains

`GET /v1/domains`

## Request

- Base URL: `https://api.mailfixture.com`
- URL: `https://api.mailfixture.com/v1/domains`
- Auth: HTTP bearer

The account's custom domains plus the shared utility domains. `setup` is present only on unverified custom domains.

## Response `200`

Available domains.

- DomainList
  - `domains` Domain[], required
    - `created_at` string, date-time, required
    - `fqdn` string, required
    - `id` string, uuid, required
    - `kind` 'shared' | 'custom', required
    - `mx_ok_at` string, date-time, nullable, required
    - `setup` DomainSetup
      - `mx` object, required
        - `name` string, required
        - `priority` integer, required
        - `value` string, required: The MX hostname to point at.
      - `txt` object, required
        - `name` string, required: Record name, `_mfx.<fqdn>`.
        - `value` string, required: Record value, `mfx-verify=<token>`.
    - `verified_at` string, date-time, nullable, required
    - `verify_txt_token` string, nullable, required: TXT challenge value; null for shared domains.

## Other responses

- `401`: Missing bearer token, malformed key, or unknown/revoked/invalid API key.
- `429`: Per-key rate limit exceeded. `Retry-After` says when the next request will be admitted; the RateLimit headers name the bucket that refused (`requests` or `creates`) with `r=0`.
- `500`: Unexpected server error. `detail` is null — internals are never leaked.

---

[API](https://skmtc.dev/mailfixture/apis/mailfixture-api.md) · [All operations](https://skmtc.dev/mailfixture/apis/mailfixture-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mailfixture/apis/mailfixture-api/revisions/4ddefe29f6f6?raw)
