Skip to content

Add a domain

POST
/api/v1/domains
curl --request POST \
--url https://digize.com/api/v1/domains \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: 5f1c2a8e-3b7d-4c55-9a0e-1f2d3c4b5a69' \
--header 'x-api-key: <x-api-key>' \
--data '{ "hostname": "example", "setup": "full" }'

Adds a domain the workspace owns. Full setup makes a zone on the platform’s Cloudflare account and answers the two nameservers to set at the registrar and the records it copied; a custom hostname answers the CNAME and TXT records to add at the DNS provider. Its status is checked every 10 minutes until it’s active.

Needs the sites:write permission.

Idempotency-Key
string
>= 1 characters <= 255 characters

Makes the request safe to send again: for 24 hours the same key and request answer the first response without repeating the change.

Example

5f1c2a8e-3b7d-4c55-9a0e-1f2d3c4b5a69
Media typeapplication/json
object
hostname
required
string
>= 3 characters <= 253 characters
setup
required
string
Allowed values: full hostname

Done

Media typeapplication/json
object
domain
required
object
id
required
string
hostname
required
string
worker
required
string | null
siteId
required
string | null
kind
required
string
Allowed values: custom platform
purpose
required
string
Allowed values: site app tap
setup
required
Any of:
string
Allowed values: full hostname
status
required
string
Allowed values: active pending_dns verifying failed
certificate
required
string
Allowed values: active issuing waiting failed
primary
required
boolean
redirectsTo
required
string | null
records
required
Array<object>
object
type
required
string
Allowed values: CNAME TXT MX
name
required
string
value
required
string
priority
number
status
required
string
Allowed values: found missing mismatch
purpose
required
string
optional
boolean
nameservers
required
Array<string>
error
required
string | null
emailRouting
required
boolean
addedAt
required
string format: date-time
verifiedAt
required
Any of:
string format: date-time
checkedAt
required
string format: date-time
records
required
Array<object>
object
id
required
string
type
required
string
name
required
string
content
required
string
priority
required
number | null
ttl
required
number
proxied
required
boolean
comment
required
string | null
modifiedAt
required
string format: date-time
readOnly
required
boolean

Example

{
"domain": {
"kind": "custom",
"purpose": "site",
"setup": "full",
"status": "active",
"certificate": "active",
"records": [
{
"type": "CNAME",
"status": "found"
}
]
}
}

What was sent isn’t valid (invalid).

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}

No key, or one that’s unknown, off or expired.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}

The key doesn’t have the permission this needs.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}

Nothing has that id (not_found).

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}

A request with the same Idempotency-Key is still running (conflict).

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}

The Idempotency-Key was used with a different request.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}

Over the rate limit; see retry-after.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}