Skip to content

Upsert DNSSEC configuration

PUT /dns/{domain}/dnssec

Operation ID: PutDNSSECByDomain

Enable, disable, or update registry DNSSEC for the specified domain.

Use mode=regfish only when the domain uses regfish authoritative nameservers. Use mode=external only when DNSSEC data must be supplied for external nameservers. Use mode=none together with state=disabled to disable registry DNSSEC.

The response may already be final, or it may include a pending_job while the registry or DNS delegation is still converging. If the update cannot be completed, the response returns the last stable DNSSEC state.

NameTypeRequiredDescription
domainfqdn_relaxedyes-

dnssecRequest

FieldTypeRequiredDescription
modednssecModeyesRequested DNSSEC operating mode. - none: no registry DNSSEC should remain active - regfish: regfish signs the zone and manages registry trust anchors - external: the caller supplies DNSSEC records for external authoritative nameservers (none, regfish, external)
statestringyesDesired high-level DNSSEC state. (disabled, enabled)
verify_after_applybooleannoWhen true, the API immediately refreshes registry state and checks DNS delegation after the update.
recordsdnssecRecord[]noRequired for mode=external,state=enabled. Ignored for regfish-managed activation and for disable operations.
StatusTypeDescription
200dnssecResponseDNSSEC configuration accepted
400ErrorInvalid DNSSEC payload
401ErrorUnauthorized
404ErrorDomain not found
409ErrorDNSSEC cannot be applied in the requested mode or provider state
417ErrorDNSSEC record set is invalid for this TLD or provider
502ErrorRegistry-side DNSSEC operation failed
FieldTypeRequiredDescription
successbooleanyesSuccess indicator
codeintegernoResponse/Error Code
responsednssecResponseno-
Terminal window
curl -X PUT "https://api.regfish.com/dns/<domain>/dnssec" \
-H "x-api-key: $REGFISH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"mode": "none",
"state": "disabled",
"verify_after_apply": true,
"records": [
{
"kind": "ds",
"key_tag": 0,
"flags": 0,
"protocol": 0,
"algorithm": 0,
"digest_type": 0,
"digest": "string",
"public_key": "string",
"comment": "string"
}
]
}'

Fill in values - the call below updates as you type. Nothing is sent: the API does not currently allow browser requests from this domain (CORS). The API key is not stored.