DNScale
DNScale API key setup: create a zone-bounded DNScale API key with read scopes for preview and only the write scopes needed for apply.
On this page
DNScale API key permissions
- Credential type
- API key
- Preview access
- zones:read + records:read + dnssec:read
- Apply access
- zones:read + records:read + records:write
- API endpoint
- DNSMigrator uses the provider's fixed API endpoint.
Additional access
DNSControl id
{
"TYPE": "DNSCALE"
}Create credentials
Create a zone-bounded DNScale API key with read scopes for preview and only the write scopes needed for apply.
Access you'll grant
zones:read + records:read + dnssec:read
zones:read + records:read + records:write
Before you start
- A DNScale account; every current plan, including Free, includes API access.
- Access to the zones you want to connect, or zones:write if DNSMigrator should create them.
Setup steps
0 of 6 done
Open API Keys
In the DNScale Dashboard, open Settings → API Keys, then select Create API Key.
Name the key and grant preview scopes
Enter a name, then select
zones:read,records:read, anddnssec:readfor a complete preview including DNSSEC state.Zoneszones:readRecordsrecords:readDNSSECdnssec:readAdd only the required write scopes
For record apply, add
records:write. Addzones:writeonly when DNSMigrator should create a missing zone, and adddnssec:writeonly when it should enable or disable DNSSEC.Record applyrecords:writeCreate zoneszones:writeChange DNSSECdnssec:writeLimit the resource boundary
Choose the target zones in the zone/DNS-name boundary. Use whole-zone record access for migrations; a names-only boundary hides other records and prevents zone-level DNSSEC and zone operations.
Create and copy the key
Create the key and copy it immediately. DNScale shows the secret value only once, and the resource boundary cannot be edited later; rotate to a new key to change it.
Paste the key
Paste the complete value into API key, then check access.
Troubleshooting
DNScale rejected the API key
The key is incomplete, deleted, or from a different account. Create a replacement and copy the full one-time value.
The key lacks access to a zone or record
Create a replacement key whose zone boundary includes that zone and whose record_access covers all names needed by the migration.
Preview works but apply returns 403
Add records:write for record changes, zones:write for zone creation, or dnssec:write for DNSSEC changes, then use the replacement key.
Official documentation
Guide checked against the official documentation on .
Credential fields
| Field | Requirement | Where to find it |
|---|---|---|
| API keyapiKey | Required | The one-time secret value shown after Settings → API Keys → Create API Key. |
Capabilities
- Create zones
- Yes
- List zones
- Yes
- DNSSEC
- Managed through the API
- Minimum TTL
- 300 seconds
- Apex CNAME
- No
- Read only
- No
Record types
- A
- AAAA
- CNAME
- MX
- TXT
- NS
- SRV
- CAA
- PTR
- ALIAS
- TLSA
- SSHFP
- HTTPS
- SVCB
Caveats
- TTLs must be between 300 and 86400 seconds.
- The API is rate limited to 100 requests per minute, so large zones apply slowly (one request per record value).
- Disabled records are not migrated.
Troubleshooting
- DNScale rejected the API key
- The key is incomplete, deleted, or from a different account. Create a replacement and copy the full one-time value.
- The key lacks access to a zone or record
- Create a replacement key whose zone boundary includes that zone and whose record_access covers all names needed by the migration.
- Preview works but apply returns 403
- Add records:write for record changes, zones:write for zone creation, or dnssec:write for DNSSEC changes, then use the replacement key.