# Regional Hostnames ## List Regional Hostnames `addressing.regional_hostnames.list(RegionalHostnameListParams**kwargs) -> SyncSinglePage[RegionalHostnameListResponse]` **get** `/zones/{zone_id}/addressing/regional_hostnames` List all Regional Hostnames within a zone. ### Parameters - `zone_id: str` Identifier. ### Returns - `class RegionalHostnameListResponse: …` - `created_on: datetime` When the regional hostname was created - `hostname: str` DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are supported for one level, e.g `*.example.com` - `region_key: str` Identifying key for the region - `routing: Optional[str]` Configure which routing method to use for the regional hostname ### 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.addressing.regional_hostnames.list( zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) page = page.result[0] print(page.created_on) ``` #### 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": [ { "created_on": "2014-01-01T05:20:00.12345Z", "hostname": "foo.example.com", "region_key": "ca", "routing": "dns" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Fetch Regional Hostname `addressing.regional_hostnames.get(strhostname, RegionalHostnameGetParams**kwargs) -> RegionalHostnameGetResponse` **get** `/zones/{zone_id}/addressing/regional_hostnames/{hostname}` Fetch the configuration for a specific Regional Hostname, within a zone. ### Parameters - `zone_id: str` Identifier. - `hostname: str` DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are supported for one level, e.g `*.example.com` ### Returns - `class RegionalHostnameGetResponse: …` - `created_on: datetime` When the regional hostname was created - `hostname: str` DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are supported for one level, e.g `*.example.com` - `region_key: str` Identifying key for the region - `routing: Optional[str]` Configure which routing method to use for the regional hostname ### 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 ) regional_hostname = client.addressing.regional_hostnames.get( hostname="foo.example.com", zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(regional_hostname.created_on) ``` #### 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": { "created_on": "2014-01-01T05:20:00.12345Z", "hostname": "foo.example.com", "region_key": "ca", "routing": "dns" } } ``` ## Create Regional Hostname `addressing.regional_hostnames.create(RegionalHostnameCreateParams**kwargs) -> RegionalHostnameCreateResponse` **post** `/zones/{zone_id}/addressing/regional_hostnames` Create a new Regional Hostname entry. Cloudflare will only use data centers that are physically located within the chosen region to decrypt and service HTTPS traffic. Learn more about [Regional Services](https://developers.cloudflare.com/data-localization/regional-services/get-started/). ### Parameters - `zone_id: str` Identifier. - `hostname: str` DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are supported for one level, e.g `*.example.com` - `region_key: str` Identifying key for the region - `routing: Optional[str]` Configure which routing method to use for the regional hostname ### Returns - `class RegionalHostnameCreateResponse: …` - `created_on: datetime` When the regional hostname was created - `hostname: str` DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are supported for one level, e.g `*.example.com` - `region_key: str` Identifying key for the region - `routing: Optional[str]` Configure which routing method to use for the regional hostname ### 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 ) regional_hostname = client.addressing.regional_hostnames.create( zone_id="023e105f4ecef8ad9ca31a8372d0c353", hostname="foo.example.com", region_key="ca", ) print(regional_hostname.created_on) ``` #### 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": { "created_on": "2014-01-01T05:20:00.12345Z", "hostname": "foo.example.com", "region_key": "ca", "routing": "dns" } } ``` ## Update Regional Hostname `addressing.regional_hostnames.edit(strhostname, RegionalHostnameEditParams**kwargs) -> RegionalHostnameEditResponse` **patch** `/zones/{zone_id}/addressing/regional_hostnames/{hostname}` Update the configuration for a specific Regional Hostname. Only the region_key of a hostname is mutable. ### Parameters - `zone_id: str` Identifier. - `hostname: str` DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are supported for one level, e.g `*.example.com` - `region_key: str` Identifying key for the region ### Returns - `class RegionalHostnameEditResponse: …` - `created_on: datetime` When the regional hostname was created - `hostname: str` DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are supported for one level, e.g `*.example.com` - `region_key: str` Identifying key for the region - `routing: Optional[str]` Configure which routing method to use for the regional hostname ### 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 ) response = client.addressing.regional_hostnames.edit( hostname="foo.example.com", zone_id="023e105f4ecef8ad9ca31a8372d0c353", region_key="ca", ) print(response.created_on) ``` #### 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": { "created_on": "2014-01-01T05:20:00.12345Z", "hostname": "foo.example.com", "region_key": "ca", "routing": "dns" } } ``` ## Delete Regional Hostname `addressing.regional_hostnames.delete(strhostname, RegionalHostnameDeleteParams**kwargs) -> RegionalHostnameDeleteResponse` **delete** `/zones/{zone_id}/addressing/regional_hostnames/{hostname}` Delete the region configuration for a specific Regional Hostname. ### Parameters - `zone_id: str` Identifier. - `hostname: str` DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are supported for one level, e.g `*.example.com` ### Returns - `class RegionalHostnameDeleteResponse: …` - `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` ### 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 ) regional_hostname = client.addressing.regional_hostnames.delete( hostname="foo.example.com", zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(regional_hostname.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 } ``` ## Domain Types ### Regional Hostname List Response - `class RegionalHostnameListResponse: …` - `created_on: datetime` When the regional hostname was created - `hostname: str` DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are supported for one level, e.g `*.example.com` - `region_key: str` Identifying key for the region - `routing: Optional[str]` Configure which routing method to use for the regional hostname ### Regional Hostname Get Response - `class RegionalHostnameGetResponse: …` - `created_on: datetime` When the regional hostname was created - `hostname: str` DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are supported for one level, e.g `*.example.com` - `region_key: str` Identifying key for the region - `routing: Optional[str]` Configure which routing method to use for the regional hostname ### Regional Hostname Create Response - `class RegionalHostnameCreateResponse: …` - `created_on: datetime` When the regional hostname was created - `hostname: str` DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are supported for one level, e.g `*.example.com` - `region_key: str` Identifying key for the region - `routing: Optional[str]` Configure which routing method to use for the regional hostname ### Regional Hostname Edit Response - `class RegionalHostnameEditResponse: …` - `created_on: datetime` When the regional hostname was created - `hostname: str` DNS hostname to be regionalized, must be a subdomain of the zone. Wildcards are supported for one level, e.g `*.example.com` - `region_key: str` Identifying key for the region - `routing: Optional[str]` Configure which routing method to use for the regional hostname ### Regional Hostname Delete Response - `class RegionalHostnameDeleteResponse: …` - `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` # Regions ## List Regions `addressing.regional_hostnames.regions.list(RegionListParams**kwargs) -> SyncSinglePage[RegionListResponse]` **get** `/accounts/{account_id}/addressing/regional_hostnames/regions` List all Regional Services regions available for use by this account. ### Parameters - `account_id: str` Identifier. ### Returns - `class RegionListResponse: …` - `key: Optional[str]` Identifying key for the region - `label: Optional[str]` Human-readable text label for the region ### 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.addressing.regional_hostnames.regions.list( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) page = page.result[0] print(page.key) ``` #### 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": [ { "key": "ca", "label": "Canada" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Domain Types ### Region List Response - `class RegionListResponse: …` - `key: Optional[str]` Identifying key for the region - `label: Optional[str]` Human-readable text label for the region