Change DNS zone of a domain

Replace the DNS zone of one domain with BIND zone file text - with a dry run first.

WWriteNot idempotentbetaNeeds service_domain
Tool
manitu_domain_dns_zone_seton https://mcp.manitu.de/mcp
POST
/v1/domain/dns/zone/seton https://api.manitu.de
Try it
Changes the account. Agents say what will happen and wait for an explicit yes before calling it.
readOnlyHint falsedestructiveHint falseidempotentHint falseopenWorldHint false

Replaces the DNS zone of a domain at manitu, by its name, with BIND zone file text - the WHOLE zone. To add, change or remove records: read the zone with manitu_domain_dns_zone_get (format raw), change the text, and send it back with the zone_revision you read. Always call with dry_run true first and show the customer what changes (record_count_list tells what was there before and after - nothing should go missing by accident); store (dry_run false) only after an explicit yes - web site and e-mail of the domain depend on the zone. manitu keeps the SOA (only refresh, retry, expire and ttl are taken; the serial is counted up) and the NS records of the domain itself (notice_list says when one was dropped); comments the customer wrote are not kept - notice_list then says comments_removed, mention it only then. Refused with a conflict when the zone changed since it was read (zone_changed - read it again, apply the change again), when manitu does not hold the zone (zone_not_primary_at_manitu), the domain is not active (zone_not_editable) or the zone stored cannot be read (zone_stored_not_readable - manitu has to repair it: tell the customer to contact manitu). Text that cannot be read is refused with line number (of the text sent), code and reason; text the name server would not load is refused with its reason (line numbers then count in the zone as composed by manitu). Every change counts the serial up and answers the new zone_revision - pass that one with the next change. A new serial after your own change is expected, not a change by someone else.

namestringrequired

The domain name, with international characters or in ASCII.

min length 1max length 253
zone_datastringrequired

The whole zone as BIND zone file text - as manitu_domain_dns_zone_get gives it (format raw), changed. Class IN only; of the $ directives only $TTL and $ORIGIN (within the zone) - no $INCLUDE or $GENERATE.

min length 1max length 524288
zone_revisionstringrequired

zone_revision from manitu_domain_dns_zone_get or from the answer of your last change - the version the change is based on.

pattern ^[0-9a-f]{64}$
dry_runboolean

true: check and compose only, store nothing - the answer shows the zone as it would be stored. Default false.

namestringrequired

The domain, with international characters.

dry_runbooleanrequired

true: nothing was stored.

zone_datastringrequired

The zone as stored - or as it would be (dry_run).

zone_revisionstringrequired

The revision of the zone now - after a dry run the one sent, unchanged.

record_count_listarray of objectrequired

Records per type (A, MX, TXT, TLSA ...), before and after - types with records only, SOA left out.

record_count_list[].typestringrequired
record_count_list[].count_beforeintegerrequired
record_count_list[].count_afterintegerrequired
notice_listarray of stringrequired

What manitu kept or dropped: soa_kept (SOA name server or contact sent were not taken), apex_ns_kept (NS records of the domain itself sent were not taken), comments_removed.

One of X-API-Key, Authorization: Bearer … - never more than one in a request. More

namestringrequired

The domain name, with international characters or in ASCII.

min length 1max length 253
zone_datastringrequired

The whole zone as BIND zone file text - as manitu_domain_dns_zone_get gives it (format raw), changed. Class IN only; of the $ directives only $TTL and $ORIGIN (within the zone) - no $INCLUDE or $GENERATE.

min length 1max length 524288
zone_revisionstringrequired

zone_revision from manitu_domain_dns_zone_get or from the answer of your last change - the version the change is based on.

pattern ^[0-9a-f]{64}$
dry_runboolean

true: check and compose only, store nothing - the answer shows the zone as it would be stored. Default false.

namestringrequired

The domain, with international characters.

dry_runbooleanrequired

true: nothing was stored.

zone_datastringrequired

The zone as stored - or as it would be (dry_run).

zone_revisionstringrequired

The revision of the zone now - after a dry run the one sent, unchanged.

record_count_listarray of objectrequired

Records per type (A, MX, TXT, TLSA ...), before and after - types with records only, SOA left out.

record_count_list[].typestringrequired
record_count_list[].count_beforeintegerrequired
record_count_list[].count_afterintegerrequired
notice_listarray of stringrequired

What manitu kept or dropped: soa_kept (SOA name server or contact sent were not taken), apex_ns_kept (NS records of the domain itself sent were not taken), comments_removed.

200Success.400The request does not match the declared input schema.401No credential was presented, or it was not recognised.403The credential is not permitted to use this operation.500The server failed. Nothing about the request was wrong. Whether a change took effect is not known - check before trying it again.503The channel this operation forwards through is unavailable.