# Custom Nameservers ## Get Account Custom Nameserver Related Zone Metadata `zones.custom_nameservers.get(CustomNameserverGetParams**kwargs) -> CustomNameserverGetResponse` **get** `/zones/{zone_id}/custom_ns` Get metadata for account-level custom nameservers on a zone. Deprecated in favor of [Show DNS Settings](https://developers.cloudflare.com/api/operations/dns-settings-for-a-zone-list-dns-settings). ### Parameters - `zone_id: str` Identifier. ### Returns - `class CustomNameserverGetResponse: …` - `errors: List[Error]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[ErrorSource]` - `pointer: Optional[str]` - `messages: List[Message]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageSource]` - `pointer: Optional[str]` - `success: Literal[true]` Whether the API call was successful. - `true` - `enabled: Optional[bool]` Whether zone uses account-level custom nameservers. - `ns_set: Optional[float]` The number of the name server set to assign to the zone. - `result_info: Optional[ResultInfo]` - `count: Optional[float]` Total number of results for the requested service. - `page: Optional[float]` Current page within paginated list of results. - `per_page: Optional[float]` Number of results per page of results. - `total_count: Optional[float]` Total results available without any search parameters. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) custom_nameserver = client.zones.custom_nameservers.get( zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(custom_nameserver.errors) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "enabled": true, "ns_set": 1, "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000 } } ``` ## Set Account Custom Nameserver Related Zone Metadata `zones.custom_nameservers.update(CustomNameserverUpdateParams**kwargs) -> SyncSinglePage[CustomNameserverUpdateResponse]` **put** `/zones/{zone_id}/custom_ns` Set metadata for account-level custom nameservers on a zone. If you would like new zones in the account to use account custom nameservers by default, use PUT /accounts/:identifier to set the account setting use_account_custom_ns_by_default to true. Deprecated in favor of [Update DNS Settings](https://developers.cloudflare.com/api/operations/dns-settings-for-a-zone-update-dns-settings). ### Parameters - `zone_id: str` Identifier. - `enabled: Optional[bool]` Whether zone uses account-level custom nameservers. - `ns_set: Optional[float]` The number of the name server set to assign to the zone. ### Returns - `str` Unused ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) page = client.zones.custom_nameservers.update( zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) page = page.result[0] print(page) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000 } } ``` ## Domain Types ### Custom Nameserver Get Response - `class CustomNameserverGetResponse: …` - `errors: List[Error]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[ErrorSource]` - `pointer: Optional[str]` - `messages: List[Message]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageSource]` - `pointer: Optional[str]` - `success: Literal[true]` Whether the API call was successful. - `true` - `enabled: Optional[bool]` Whether zone uses account-level custom nameservers. - `ns_set: Optional[float]` The number of the name server set to assign to the zone. - `result_info: Optional[ResultInfo]` - `count: Optional[float]` Total number of results for the requested service. - `page: Optional[float]` Current page within paginated list of results. - `per_page: Optional[float]` Number of results per page of results. - `total_count: Optional[float]` Total results available without any search parameters. ### Custom Nameserver Update Response - `str` Unused