---
title: "Add a domain"
method: POST
path: "/domains"
tags: ["Domains"]
---

# Add a domain

`POST /domains`

Add a new domain for your instance.
Useful in the case of multi-domain instances, allows adding satellite domains to an instance.
The new domain must have a `name`. The domain name can contain the port for development instances, like `localhost:3000`.
At the moment, instances can have only one primary domain, so the `is_satellite` parameter must be set to `true`.
If you're planning to configure the new satellite domain to run behind a proxy, pass the `proxy_url` parameter accordingly.

## Request body

- object
  - `name` string, required — The new domain name. Can contain the port for development instances.
  - `is_satellite` true, required — Marks the new domain as satellite. Only `true` is accepted at the moment.
  - `proxy_url` string, nullable — The full URL of the proxy which will forward requests to the Clerk Frontend API for this domain. Applicable only to production instances.

## Response `200`

A domain

- Domain
  - `object` 'domain', required
  - `id` string, required
  - `name` string, required
  - `is_satellite` boolean, required
  - `frontend_api_url` string, required
  - `accounts_portal_url` string, nullable — Null for satellite domains.
  - `proxy_url` string, nullable
  - `development_origin` string, required
  - `cname_targets` CNameTarget[], nullable
    - `host` string, required
    - `value` string, required
    - `required` boolean, required — Denotes whether this CNAME target is required to be set in order for the domain to be considered deployed.

## Other responses

- `400` — Request was not successful
- `402` — Request was not successful
- `422` — Invalid request parameters

---

[API](https://skmtc.net/clerk/apis/clerk-backend-api.md) · [All operations](https://skmtc.net/clerk/apis/clerk-backend-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/clerk/clerk-backend-api/versions/cf036e7951d3/schema)
