# SecondaryZones

Endpoints related to secondary zones

## Retrieve secondary zones

> Returns a list of the secondary DNS zones for the customer. Default limit is the first 100 items. Use pagination query parameters for listing more items (up to 1000).

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud - DNS API","version":"1.18.0"},"tags":[{"name":"SecondaryZones","description":"Endpoints related to secondary zones"}],"servers":[{"url":"https://dns.de-fra.ionos.com","description":"Frankfurt"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"apiKey","description":"Please provide header value as 'Bearer <token>' and don't forget to add 'Bearer' HTTP Authorization Scheme before the token.","name":"Authorization","in":"header"}},"schemas":{"ProvisioningState":{"type":"string","description":"The list of possible provisioning states in which DNS resource could be at the specific time.\n* AVAILABLE - resource exists and is healthy.\n* PROVISIONING - resource is being created or updated.\n* DESTROYING - delete command was issued, the resource is being deleted.\n* FAILED - creation of the resource failed.\n","enum":["PROVISIONING","DESTROYING","AVAILABLE","FAILED"]},"SecondaryZoneReadList":{"allOf":[{"$ref":"#/components/schemas/CommonZoneReadList"},{"type":"object","description":"List of secondary zones","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SecondaryZoneRead"}}}}]},"CommonZoneReadList":{"type":"object","required":["id","type","href","offset","limit","_links"],"properties":{"id":{"type":"string","format":"uuid","description":"ID (UUID) created to identify this action."},"type":{"type":"string","enum":["collection"]},"href":{"type":"string","format":"uri","readOnly":true},"offset":{"$ref":"#/components/schemas/Offset"},"limit":{"$ref":"#/components/schemas/Limit"},"_links":{"$ref":"#/components/schemas/Links"}}},"Offset":{"type":"number","description":"Pagination offset.","readOnly":true},"Limit":{"type":"number","description":"Pagination limit.","readOnly":true},"Links":{"description":"URLs to navigate the different pages. As of now we always only return a\nsingle page.\n","type":"object","properties":{"prev":{"description":"URL (with offset and limit parameters) of the previous page; only\npresent if offset is greater than 0.\n","type":"string","format":"uri","readOnly":true},"self":{"description":"URL (with offset and limit parameters) of the current page.\n","type":"string","format":"uri","readOnly":true},"next":{"description":"URL (with offset and limit parameters) of the next page; only\npresent if offset + limit is less than the total number of elements.\n","type":"string","format":"uri","readOnly":true}}},"SecondaryZoneRead":{"allOf":[{"$ref":"#/components/schemas/CommonZoneRead"},{"type":"object","required":["properties"],"properties":{"properties":{"$ref":"#/components/schemas/SecondaryZone"}}}]},"CommonZoneRead":{"type":"object","required":["id","type","href","metadata"],"properties":{"id":{"type":"string","format":"uuid","description":"The zone ID (UUID)."},"type":{"type":"string","enum":["zone","secondaryzone"]},"href":{"type":"string","format":"uri","readOnly":true},"metadata":{"$ref":"#/components/schemas/MetadataWithStateNameservers"}}},"MetadataWithStateNameservers":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["state","nameservers"],"properties":{"state":{"$ref":"#/components/schemas/ProvisioningState"},"nameservers":{"type":"array","description":"The list of nameservers associated to the zone. \nNameservers are different for primary and secondary zones.\nFor primary zones it would be:\n- ns-ic.ui-dns.com\n- ns-ic.ui-dns.de\n- ns-ic.ui-dns.org\n- ns-ic.ui-dns.biz\n\nAnd for secondary zones:\n- nscs.ui-dns.com\n- nscs.ui-dns.de\n- nscs.ui-dns.org\n- nscs.ui-dns.biz\n","items":{"type":"string"}}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","readOnly":true,"format":"date-time","description":"The creation date formatted as yyyy-MM-dd'T'HH:mm:ss.SSS'Z'."},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"The unique ID of the user who created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","readOnly":true,"format":"date-time","description":"The date of the last change formatted as yyyy-MM-dd'T'HH:mm:ss.SSS'Z'."},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"The unique ID of the user who last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"SecondaryZone":{"allOf":[{"$ref":"#/components/schemas/CommonZone"},{"type":"object","description":"Indicates the fields for a secondary zone to be created","required":["primaryIps"],"properties":{"primaryIps":{"type":"array","items":{"type":"string","anyOf":[{"format":"ipv4"},{"format":"ipv6"}]},"minItems":1,"uniqueItems":true,"description":"Indicates IP addresses of primary nameservers for a secondary zone. Accepts IPv4 and IPv6 addresses"}}}]},"CommonZone":{"type":"object","description":"Indicates the fields for a zone to be created","required":["zoneName"],"properties":{"zoneName":{"type":"string","description":"The zone name"},"description":{"type":"string","description":"The hosted zone is used for..."}}},"Error":{"type":"object","additionalProperties":false,"properties":{"httpStatus":{"type":"integer","description":"HTTP status code of the operation as specified by [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-6).\n"},"messages":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"errorCode":{"type":"string","description":"Internal error code.\n"},"message":{"type":"string","description":"Human readable explanation of the issue.\n"}}}}}}},"parameters":{"paginationOffset":{"name":"offset","in":"query","description":"The first element (of the total list of elements) to include in the response. Use together with limit for pagination.","required":false,"schema":{"type":"integer","format":"int32","default":0,"minimum":0}},"paginationLimit":{"name":"limit","in":"query","description":"The maximum number of elements to return. Use together with offset for pagination.","required":false,"schema":{"type":"integer","format":"int32","default":100,"minimum":1,"maximum":1000}}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/secondaryzones":{"get":{"operationId":"secondaryzonesGet","summary":"Retrieve secondary zones","description":"Returns a list of the secondary DNS zones for the customer. Default limit is the first 100 items. Use pagination query parameters for listing more items (up to 1000).","parameters":[{"name":"filter.state","in":"query","description":"Filter used to fetch all zones in a particular state.","required":false,"schema":{"$ref":"#/components/schemas/ProvisioningState"}},{"name":"filter.zoneName","in":"query","description":"Filter used to fetch only the zones that contain the specified zone name.","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/paginationOffset"},{"$ref":"#/components/parameters/paginationLimit"}],"tags":["SecondaryZones"],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecondaryZoneReadList"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalError"}}}}}}
```

## Create a secondary zone

> Creates a new secondary zone with default NS and SOA records.\
> Note that Cloud DNS relies on the following Anycast addresses for sending DNS notify messages.\
> Make sure to whitelist on your end:\
> &#x20; \- IPv4: 212.227.123.25\
> &#x20; \- IPv6: 2001:8d8:fe:53::5cd:25<br>

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud - DNS API","version":"1.18.0"},"tags":[{"name":"SecondaryZones","description":"Endpoints related to secondary zones"}],"servers":[{"url":"https://dns.de-fra.ionos.com","description":"Frankfurt"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"apiKey","description":"Please provide header value as 'Bearer <token>' and don't forget to add 'Bearer' HTTP Authorization Scheme before the token.","name":"Authorization","in":"header"}},"schemas":{"SecondaryZoneCreate":{"type":"object","required":["properties"],"properties":{"properties":{"$ref":"#/components/schemas/SecondaryZone"}}},"SecondaryZone":{"allOf":[{"$ref":"#/components/schemas/CommonZone"},{"type":"object","description":"Indicates the fields for a secondary zone to be created","required":["primaryIps"],"properties":{"primaryIps":{"type":"array","items":{"type":"string","anyOf":[{"format":"ipv4"},{"format":"ipv6"}]},"minItems":1,"uniqueItems":true,"description":"Indicates IP addresses of primary nameservers for a secondary zone. Accepts IPv4 and IPv6 addresses"}}}]},"CommonZone":{"type":"object","description":"Indicates the fields for a zone to be created","required":["zoneName"],"properties":{"zoneName":{"type":"string","description":"The zone name"},"description":{"type":"string","description":"The hosted zone is used for..."}}},"SecondaryZoneRead":{"allOf":[{"$ref":"#/components/schemas/CommonZoneRead"},{"type":"object","required":["properties"],"properties":{"properties":{"$ref":"#/components/schemas/SecondaryZone"}}}]},"CommonZoneRead":{"type":"object","required":["id","type","href","metadata"],"properties":{"id":{"type":"string","format":"uuid","description":"The zone ID (UUID)."},"type":{"type":"string","enum":["zone","secondaryzone"]},"href":{"type":"string","format":"uri","readOnly":true},"metadata":{"$ref":"#/components/schemas/MetadataWithStateNameservers"}}},"MetadataWithStateNameservers":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["state","nameservers"],"properties":{"state":{"$ref":"#/components/schemas/ProvisioningState"},"nameservers":{"type":"array","description":"The list of nameservers associated to the zone. \nNameservers are different for primary and secondary zones.\nFor primary zones it would be:\n- ns-ic.ui-dns.com\n- ns-ic.ui-dns.de\n- ns-ic.ui-dns.org\n- ns-ic.ui-dns.biz\n\nAnd for secondary zones:\n- nscs.ui-dns.com\n- nscs.ui-dns.de\n- nscs.ui-dns.org\n- nscs.ui-dns.biz\n","items":{"type":"string"}}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","readOnly":true,"format":"date-time","description":"The creation date formatted as yyyy-MM-dd'T'HH:mm:ss.SSS'Z'."},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"The unique ID of the user who created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","readOnly":true,"format":"date-time","description":"The date of the last change formatted as yyyy-MM-dd'T'HH:mm:ss.SSS'Z'."},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"The unique ID of the user who last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ProvisioningState":{"type":"string","description":"The list of possible provisioning states in which DNS resource could be at the specific time.\n* AVAILABLE - resource exists and is healthy.\n* PROVISIONING - resource is being created or updated.\n* DESTROYING - delete command was issued, the resource is being deleted.\n* FAILED - creation of the resource failed.\n","enum":["PROVISIONING","DESTROYING","AVAILABLE","FAILED"]},"Error":{"type":"object","additionalProperties":false,"properties":{"httpStatus":{"type":"integer","description":"HTTP status code of the operation as specified by [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-6).\n"},"messages":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"errorCode":{"type":"string","description":"Internal error code.\n"},"message":{"type":"string","description":"Human readable explanation of the issue.\n"}}}}}}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotAllowed":{"description":"### Not Allowed\nThe user issuing the request does not have the needed permissions.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/secondaryzones":{"post":{"operationId":"secondaryzonesPost","summary":"Create a secondary zone","tags":["SecondaryZones"],"description":"Creates a new secondary zone with default NS and SOA records.\nNote that Cloud DNS relies on the following Anycast addresses for sending DNS notify messages.\nMake sure to whitelist on your end:\n  - IPv4: 212.227.123.25\n  - IPv6: 2001:8d8:fe:53::5cd:25\n","requestBody":{"description":"zone","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecondaryZoneCreate"}}}},"responses":{"202":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecondaryZoneRead"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"500":{"$ref":"#/components/responses/InternalError"}}}}}}
```

## Retrieve a secondary zone

> Returns a DNS secondary zone by given ID.

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud - DNS API","version":"1.18.0"},"tags":[{"name":"SecondaryZones","description":"Endpoints related to secondary zones"}],"servers":[{"url":"https://dns.de-fra.ionos.com","description":"Frankfurt"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"apiKey","description":"Please provide header value as 'Bearer <token>' and don't forget to add 'Bearer' HTTP Authorization Scheme before the token.","name":"Authorization","in":"header"}},"schemas":{"SecondaryZoneRead":{"allOf":[{"$ref":"#/components/schemas/CommonZoneRead"},{"type":"object","required":["properties"],"properties":{"properties":{"$ref":"#/components/schemas/SecondaryZone"}}}]},"CommonZoneRead":{"type":"object","required":["id","type","href","metadata"],"properties":{"id":{"type":"string","format":"uuid","description":"The zone ID (UUID)."},"type":{"type":"string","enum":["zone","secondaryzone"]},"href":{"type":"string","format":"uri","readOnly":true},"metadata":{"$ref":"#/components/schemas/MetadataWithStateNameservers"}}},"MetadataWithStateNameservers":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["state","nameservers"],"properties":{"state":{"$ref":"#/components/schemas/ProvisioningState"},"nameservers":{"type":"array","description":"The list of nameservers associated to the zone. \nNameservers are different for primary and secondary zones.\nFor primary zones it would be:\n- ns-ic.ui-dns.com\n- ns-ic.ui-dns.de\n- ns-ic.ui-dns.org\n- ns-ic.ui-dns.biz\n\nAnd for secondary zones:\n- nscs.ui-dns.com\n- nscs.ui-dns.de\n- nscs.ui-dns.org\n- nscs.ui-dns.biz\n","items":{"type":"string"}}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","readOnly":true,"format":"date-time","description":"The creation date formatted as yyyy-MM-dd'T'HH:mm:ss.SSS'Z'."},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"The unique ID of the user who created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","readOnly":true,"format":"date-time","description":"The date of the last change formatted as yyyy-MM-dd'T'HH:mm:ss.SSS'Z'."},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"The unique ID of the user who last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ProvisioningState":{"type":"string","description":"The list of possible provisioning states in which DNS resource could be at the specific time.\n* AVAILABLE - resource exists and is healthy.\n* PROVISIONING - resource is being created or updated.\n* DESTROYING - delete command was issued, the resource is being deleted.\n* FAILED - creation of the resource failed.\n","enum":["PROVISIONING","DESTROYING","AVAILABLE","FAILED"]},"SecondaryZone":{"allOf":[{"$ref":"#/components/schemas/CommonZone"},{"type":"object","description":"Indicates the fields for a secondary zone to be created","required":["primaryIps"],"properties":{"primaryIps":{"type":"array","items":{"type":"string","anyOf":[{"format":"ipv4"},{"format":"ipv6"}]},"minItems":1,"uniqueItems":true,"description":"Indicates IP addresses of primary nameservers for a secondary zone. Accepts IPv4 and IPv6 addresses"}}}]},"CommonZone":{"type":"object","description":"Indicates the fields for a zone to be created","required":["zoneName"],"properties":{"zoneName":{"type":"string","description":"The zone name"},"description":{"type":"string","description":"The hosted zone is used for..."}}},"Error":{"type":"object","additionalProperties":false,"properties":{"httpStatus":{"type":"integer","description":"HTTP status code of the operation as specified by [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-6).\n"},"messages":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"errorCode":{"type":"string","description":"Internal error code.\n"},"message":{"type":"string","description":"Human readable explanation of the issue.\n"}}}}}}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotAllowed":{"description":"### Not Allowed\nThe user issuing the request does not have the needed permissions.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"### Not Found\nThe resource that was requested could not be found.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/secondaryzones/{secondaryZoneId}":{"get":{"operationId":"secondaryzonesFindById","summary":"Retrieve a secondary zone","tags":["SecondaryZones"],"description":"Returns a DNS secondary zone by given ID.","parameters":[{"name":"secondaryZoneId","in":"path","schema":{"type":"string","format":"uuid"},"required":true,"description":"The ID (UUID) of the DNS zone."}],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecondaryZoneRead"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalError"}}}}}}
```

## Update a secondary zone

> Updates or creates a secondary zone for the provided secondary Zone ID.

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud - DNS API","version":"1.18.0"},"tags":[{"name":"SecondaryZones","description":"Endpoints related to secondary zones"}],"servers":[{"url":"https://dns.de-fra.ionos.com","description":"Frankfurt"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"apiKey","description":"Please provide header value as 'Bearer <token>' and don't forget to add 'Bearer' HTTP Authorization Scheme before the token.","name":"Authorization","in":"header"}},"schemas":{"SecondaryZoneEnsure":{"type":"object","required":["properties"],"properties":{"properties":{"$ref":"#/components/schemas/SecondaryZone"}}},"SecondaryZone":{"allOf":[{"$ref":"#/components/schemas/CommonZone"},{"type":"object","description":"Indicates the fields for a secondary zone to be created","required":["primaryIps"],"properties":{"primaryIps":{"type":"array","items":{"type":"string","anyOf":[{"format":"ipv4"},{"format":"ipv6"}]},"minItems":1,"uniqueItems":true,"description":"Indicates IP addresses of primary nameservers for a secondary zone. Accepts IPv4 and IPv6 addresses"}}}]},"CommonZone":{"type":"object","description":"Indicates the fields for a zone to be created","required":["zoneName"],"properties":{"zoneName":{"type":"string","description":"The zone name"},"description":{"type":"string","description":"The hosted zone is used for..."}}},"SecondaryZoneRead":{"allOf":[{"$ref":"#/components/schemas/CommonZoneRead"},{"type":"object","required":["properties"],"properties":{"properties":{"$ref":"#/components/schemas/SecondaryZone"}}}]},"CommonZoneRead":{"type":"object","required":["id","type","href","metadata"],"properties":{"id":{"type":"string","format":"uuid","description":"The zone ID (UUID)."},"type":{"type":"string","enum":["zone","secondaryzone"]},"href":{"type":"string","format":"uri","readOnly":true},"metadata":{"$ref":"#/components/schemas/MetadataWithStateNameservers"}}},"MetadataWithStateNameservers":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["state","nameservers"],"properties":{"state":{"$ref":"#/components/schemas/ProvisioningState"},"nameservers":{"type":"array","description":"The list of nameservers associated to the zone. \nNameservers are different for primary and secondary zones.\nFor primary zones it would be:\n- ns-ic.ui-dns.com\n- ns-ic.ui-dns.de\n- ns-ic.ui-dns.org\n- ns-ic.ui-dns.biz\n\nAnd for secondary zones:\n- nscs.ui-dns.com\n- nscs.ui-dns.de\n- nscs.ui-dns.org\n- nscs.ui-dns.biz\n","items":{"type":"string"}}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","readOnly":true,"format":"date-time","description":"The creation date formatted as yyyy-MM-dd'T'HH:mm:ss.SSS'Z'."},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"The unique ID of the user who created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","readOnly":true,"format":"date-time","description":"The date of the last change formatted as yyyy-MM-dd'T'HH:mm:ss.SSS'Z'."},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"The unique ID of the user who last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ProvisioningState":{"type":"string","description":"The list of possible provisioning states in which DNS resource could be at the specific time.\n* AVAILABLE - resource exists and is healthy.\n* PROVISIONING - resource is being created or updated.\n* DESTROYING - delete command was issued, the resource is being deleted.\n* FAILED - creation of the resource failed.\n","enum":["PROVISIONING","DESTROYING","AVAILABLE","FAILED"]},"Error":{"type":"object","additionalProperties":false,"properties":{"httpStatus":{"type":"integer","description":"HTTP status code of the operation as specified by [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-6).\n"},"messages":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"errorCode":{"type":"string","description":"Internal error code.\n"},"message":{"type":"string","description":"Human readable explanation of the issue.\n"}}}}}}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotAllowed":{"description":"### Not Allowed\nThe user issuing the request does not have the needed permissions.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"### Not Found\nThe resource that was requested could not be found.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/secondaryzones/{secondaryZoneId}":{"put":{"operationId":"secondaryzonesPut","tags":["SecondaryZones"],"description":"Updates or creates a secondary zone for the provided secondary Zone ID.","summary":"Update a secondary zone","parameters":[{"name":"secondaryZoneId","in":"path","schema":{"type":"string","format":"uuid"},"required":true,"description":"The ID (UUID) of the DNS zone."}],"requestBody":{"description":"update zone","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecondaryZoneEnsure"}}}},"responses":{"202":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecondaryZoneRead"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalError"}}}}}}
```

## Delete a secondary zone

> Deletes the specified secondary zone.

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud - DNS API","version":"1.18.0"},"tags":[{"name":"SecondaryZones","description":"Endpoints related to secondary zones"}],"servers":[{"url":"https://dns.de-fra.ionos.com","description":"Frankfurt"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"apiKey","description":"Please provide header value as 'Bearer <token>' and don't forget to add 'Bearer' HTTP Authorization Scheme before the token.","name":"Authorization","in":"header"}},"schemas":{"EmptyBodyResponse":{"type":"object","properties":{}},"Error":{"type":"object","additionalProperties":false,"properties":{"httpStatus":{"type":"integer","description":"HTTP status code of the operation as specified by [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-6).\n"},"messages":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"errorCode":{"type":"string","description":"Internal error code.\n"},"message":{"type":"string","description":"Human readable explanation of the issue.\n"}}}}}}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotAllowed":{"description":"### Not Allowed\nThe user issuing the request does not have the needed permissions.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"### Not Found\nThe resource that was requested could not be found.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/secondaryzones/{secondaryZoneId}":{"delete":{"operationId":"secondaryzonesDelete","summary":"Delete a secondary zone","tags":["SecondaryZones"],"description":"Deletes the specified secondary zone.","parameters":[{"name":"secondaryZoneId","in":"path","schema":{"type":"string","format":"uuid"},"required":true,"description":"The ID (UUID) of the DNS zone."}],"responses":{"202":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyBodyResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalError"}}}}}}
```

## Get status of zone transfer

> Get status of zone transfer. \
> Note that Cloud DNS relies on the following Anycast addresses for sending DNS notify messages.\
> Make sure to whitelist on your end:\
> &#x20; \- IPv4: 212.227.123.25\
> &#x20; \- IPv6: 2001:8d8:fe:53::5cd:25<br>

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud - DNS API","version":"1.18.0"},"tags":[{"name":"SecondaryZones","description":"Endpoints related to secondary zones"}],"servers":[{"url":"https://dns.de-fra.ionos.com","description":"Frankfurt"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"apiKey","description":"Please provide header value as 'Bearer <token>' and don't forget to add 'Bearer' HTTP Authorization Scheme before the token.","name":"Authorization","in":"header"}},"schemas":{"ZoneTransferPrimaryIpsStatus":{"type":"object","description":"Indicates, for secondary zones, the transfer status for each one single IP defined on primaryIps field\n","required":["type","items"],"properties":{"type":{"type":"string","enum":["collection"]},"items":{"type":"array","items":{"$ref":"#/components/schemas/ZoneTransferPrimaryIpStatus"}}}},"ZoneTransferPrimaryIpStatus":{"type":"object","required":["primaryIp","status"],"properties":{"primaryIp":{"type":"string","anyOf":[{"format":"ipv4"},{"format":"ipv6"}],"description":"one single IP from the primaryIps field for secondary zones"},"status":{"type":"string","description":"Human readable status of the zone transfer status for the IP"},"errorMessage":{"type":"string","description":"Human readable explanation of the error when status is not ok"}}},"Error":{"type":"object","additionalProperties":false,"properties":{"httpStatus":{"type":"integer","description":"HTTP status code of the operation as specified by [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-6).\n"},"messages":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"errorCode":{"type":"string","description":"Internal error code.\n"},"message":{"type":"string","description":"Human readable explanation of the issue.\n"}}}}}}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotAllowed":{"description":"### Not Allowed\nThe user issuing the request does not have the needed permissions.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"### Not Found\nThe resource that was requested could not be found.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/secondaryzones/{secondaryZoneId}/axfr":{"get":{"operationId":"secondaryzonesAxfrGet","summary":"Get status of zone transfer","tags":["SecondaryZones"],"description":"Get status of zone transfer. \nNote that Cloud DNS relies on the following Anycast addresses for sending DNS notify messages.\nMake sure to whitelist on your end:\n  - IPv4: 212.227.123.25\n  - IPv6: 2001:8d8:fe:53::5cd:25\n","parameters":[{"name":"secondaryZoneId","in":"path","schema":{"type":"string","format":"uuid"},"required":true,"description":"The ID (UUID) of the DNS zone."}],"responses":{"202":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoneTransferPrimaryIpsStatus"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalError"}}}}}}
```

## Start zone transfer

> Initiate zone transfer.\
> Note that Cloud DNS relies on the following Anycast addresses for sending DNS notify messages.\
> Make sure to whitelist on your end:\
> &#x20; \- IPv4: 212.227.123.25\
> &#x20; \- IPv6: 2001:8d8:fe:53::5cd:25<br>

```json
{"openapi":"3.0.3","info":{"title":"IONOS Cloud - DNS API","version":"1.18.0"},"tags":[{"name":"SecondaryZones","description":"Endpoints related to secondary zones"}],"servers":[{"url":"https://dns.de-fra.ionos.com","description":"Frankfurt"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"apiKey","description":"Please provide header value as 'Bearer <token>' and don't forget to add 'Bearer' HTTP Authorization Scheme before the token.","name":"Authorization","in":"header"}},"schemas":{"EmptyBodyResponse":{"type":"object","properties":{}},"Error":{"type":"object","additionalProperties":false,"properties":{"httpStatus":{"type":"integer","description":"HTTP status code of the operation as specified by [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-6).\n"},"messages":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"errorCode":{"type":"string","description":"Internal error code.\n"},"message":{"type":"string","description":"Human readable explanation of the issue.\n"}}}}}}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotAllowed":{"description":"### Not Allowed\nThe user issuing the request does not have the needed permissions.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"### Not Found\nThe resource that was requested could not be found.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/secondaryzones/{secondaryZoneId}/axfr":{"put":{"operationId":"secondaryzonesAxfrPut","summary":"Start zone transfer","tags":["SecondaryZones"],"description":"Initiate zone transfer.\nNote that Cloud DNS relies on the following Anycast addresses for sending DNS notify messages.\nMake sure to whitelist on your end:\n  - IPv4: 212.227.123.25\n  - IPv6: 2001:8d8:fe:53::5cd:25\n","parameters":[{"name":"secondaryZoneId","in":"path","schema":{"type":"string","format":"uuid"},"required":true,"description":"The ID (UUID) of the DNS zone."}],"responses":{"202":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyBodyResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalError"}}}}}}
```
