Skip to main content
Developer Domains1.0.0-beta.1

Create DNS record

Creates one supported DNS record in the active primary zone. A token bound to the domain Space and an Idempotency-Key are required. Retry the same key and payload to retrieve a completed result for 24 hours. An uncertain registrar outcome pauses Portal and Developer API writes for the domain until reviewed.

POST/api/v1/domains/{domain}/records

Workspace automation for approved Dashio products. Each token is scoped to one Space and independently granted operations. Requests spend shared minute credits, and selected operation groups also share hourly quotas.

Required token scope is dns:records:write. Scopes are independent.

This operation uses 8 credits from a shared budget of 60 credits per token and 300 per Space each UTC minute. The provider group shares 40 requests per token and 100 per Space each UTC hour.

Run these examples on a trusted server with DASHIO_API_TOKEN configured. Use a private terminal when inspecting response data. Examples send one request with a bounded timeout and do not retry automatically.

Set DASHIO_IDEMPOTENCY_KEY to the persisted key for this logical write. Reuse it only for an identical retry.

Authentication

Dashio developer token (HTTP Bearer) API authentication guide

Path parameters

domainstringRequired

Registered domain in lowercase ASCII or punycode. Minimum length: 3. Maximum length: 253.

Query parameters

None documented.

Header parameters

Idempotency-KeystringRequired

Unique, case-sensitive key scoped to the Space. Retry with the same key and payload. Minimum length: 16. Maximum length: 128. Pattern: ^[A-Za-z0-9_-]+$.

Request body

application/json · Required

The complete record. The UTF-8 JSON body is limited to 8192 bytes.

recordobjectRequired

No field description supplied.

Responses

Headers on every response

X-Request-Idstring (uuid)Optional

Server-generated ID to include in a support request.

201

DNS record created.

Response headers

RateLimit-LimitintegerOptional

Per-token capacity in the reported gateway window, expressed in requests of this operation. A shared Space budget also applies. Present when the request reaches the authenticated gateway. Minimum: 1.

RateLimit-RemainingintegerOptional

Requests of this operation remaining under the current token, Space and applicable operation-group quotas. Present when the request reaches the authenticated gateway. Minimum: 0.

RateLimit-ResetintegerOptional

Unix timestamp in seconds when the reported gateway quota resets. Present when the request reaches the authenticated gateway. Minimum: 0.

X-Mutation-Request-Idstring (uuid)Optional

Correlation ID of the original mutation reservation.

Idempotency-ReplayedbooleanOptional

True when this result comes from the original completed request.

application/json

recordobjectRequired

No field description supplied.

400

Invalid domain, record, idempotency key, request body or query parameter.

application/json

statusCodeintegerRequired

Required value: 400.

statusMessagestringOptional

No field description supplied.

dataobjectRequired

No field description supplied.

401

Developer token is missing, expired, revoked or invalid.

Response headers

WWW-AuthenticatestringOptional

Bearer authentication challenge. A rejected token can include the invalid_token error.

application/json

statusCodeintegerRequired

Minimum: 400. Maximum: 599.

statusMessagestringOptional

A safe explanation suitable for display.

dataobjectRequired

No field description supplied.

403

The token lacks dns:records:write, access has changed or DNS management is restricted.

application/json

Uses the same response body schema as HTTP 401.

404

The operation, domain or record is unavailable in the token Space.

application/json

Uses the same response body schema as HTTP 401.

408

The request body timed out.

application/json

Uses the same response body schema as HTTP 401.

409

The zone is unavailable, the key conflicts or expired, another change is in progress, or the record conflicts with existing DNS data.

application/json

Uses the same response body schema as HTTP 401.

413

The request exceeded the supported body limit.

application/json

Uses the same response body schema as HTTP 401.

415

Use application/json for the record body.

application/json

Uses the same response body schema as HTTP 401.

429

The token or Space request budget is exhausted. Edge traffic limits can also return 429.

Response headers

RateLimit-LimitintegerOptional

Per-token capacity in the reported gateway window, expressed in requests of this operation. A shared Space budget also applies. Present when the request reaches the authenticated gateway. Minimum: 1.

RateLimit-RemainingintegerOptional

Requests of this operation remaining under the current token, Space and applicable operation-group quotas. Present when the request reaches the authenticated gateway. Minimum: 0.

RateLimit-ResetintegerOptional

Unix timestamp in seconds when the reported gateway quota resets. Present when the request reaches the authenticated gateway. Minimum: 0.

Retry-AfterintegerOptional

Seconds to wait before retrying, when the limiting policy supplies a retry time. Minimum: 1.

application/json

Uses the same response body schema as HTTP 401.

502

The registrar outcome is uncertain. Retry only the original key or contact support with X-Mutation-Request-Id.

Response headers

X-Mutation-Request-Idstring (uuid)Optional

Use this ID to request reconciliation.

application/json

Uses the same response body schema as HTTP 401.

503

Domain data or the mutation service is temporarily unavailable.

application/json

Uses the same response body schema as HTTP 401.

Was this helpful?