---
title: "Add Domain"
method: POST
path: "/v1/custom-domains"
tags: ["Custom Domains"]
---

# Add Domain

`POST /v1/custom-domains`

## Request

- Base URL: `https://api.oviond.com`
- URL: `https://api.oviond.com/v1/custom-domains`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Add a custom domain. Detects the DNS provider and registers the domain on Vercel.

## Request body

- AddDomainRequest
  - `domain` string, required

## Response `200`

Domain added

- DomainResponse
  - `success` true, required
  - `data` CustomDomain, required
    - `id` string, required
    - `domain` string, required
    - `status` 'pending' | 'verifying' | 'active' | 'failed', required
    - `provider` 'cloudflare' | 'godaddy' | 'namecheap' | 'route53' | 'google' | 'squarespace' | 'unknown', nullable
    - `is_default` boolean
    - `created_at` union
      - string
      - string
    - `domain_records` object[]
      - `type` string, required
      - `name` string, required
      - `value` string, required
    - `vercel_verification` object[]
      - `type` string, required
      - `domain` string, required
      - `value` string, required
    - `dns_records` object[]
      - `type` string, required
      - `name` string, required
      - `value` string, required

## Other responses

- `409`: Domain already exists

---

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