# Domains ## List Domains `workers.domains.list(DomainListParams**kwargs) -> SyncSinglePage[DomainListResponse]` **get** `/accounts/{account_id}/workers/domains` Lists all domains for an account. ### Parameters - `account_id: str` Identifier. - `environment: Optional[str]` Worker environment associated with the domain. - `hostname: Optional[str]` Hostname of the domain. - `service: Optional[str]` Name of the Worker associated with the domain. - `zone_id: Optional[str]` ID of the zone containing the domain hostname. - `zone_name: Optional[str]` Name of the zone containing the domain hostname. ### Returns - `class DomainListResponse: …` - `id: str` Immutable ID of the domain. - `cert_id: str` ID of the TLS certificate issued for the domain. - `environment: str` Worker environment associated with the domain. - `hostname: str` Hostname of the domain. Can be either the zone apex or a subdomain of the zone. Requests to this hostname will be routed to the configured Worker. - `service: str` Name of the Worker associated with the domain. Requests to the configured hostname will be routed to this Worker. - `zone_id: str` ID of the zone containing the domain hostname. - `zone_name: str` Name of the zone containing the domain 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.workers.domains.list( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) page = page.result[0] print(page.id) ``` #### 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" } } ], "result": [ { "id": "dbe10b4bc17c295377eabd600e1787fd", "cert_id": "9fdf92c8-64c2-4a3d-b1af-e15304961145", "environment": "production", "hostname": "app.example.com", "service": "my-worker", "zone_id": "593c9c94de529bbbfaac7c53ced0447d", "zone_name": "example.com" } ], "success": true, "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Get Domain `workers.domains.get(strdomain_id, DomainGetParams**kwargs) -> DomainGetResponse` **get** `/accounts/{account_id}/workers/domains/{domain_id}` Gets information about a domain. ### Parameters - `account_id: str` Identifier. - `domain_id: str` ID of the domain. ### Returns - `class DomainGetResponse: …` - `id: str` Immutable ID of the domain. - `cert_id: str` ID of the TLS certificate issued for the domain. - `environment: str` Worker environment associated with the domain. - `hostname: str` Hostname of the domain. Can be either the zone apex or a subdomain of the zone. Requests to this hostname will be routed to the configured Worker. - `service: str` Name of the Worker associated with the domain. Requests to the configured hostname will be routed to this Worker. - `zone_id: str` ID of the zone containing the domain hostname. - `zone_name: str` Name of the zone containing the domain 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 ) domain = client.workers.domains.get( domain_id="dbe10b4bc17c295377eabd600e1787fd", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(domain.id) ``` #### 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" } } ], "result": { "id": "dbe10b4bc17c295377eabd600e1787fd", "cert_id": "9fdf92c8-64c2-4a3d-b1af-e15304961145", "environment": "production", "hostname": "app.example.com", "service": "my-worker", "zone_id": "593c9c94de529bbbfaac7c53ced0447d", "zone_name": "example.com" }, "success": true } ``` ## Attach Domain `workers.domains.update(DomainUpdateParams**kwargs) -> DomainUpdateResponse` **put** `/accounts/{account_id}/workers/domains` Attaches a domain that routes traffic to a Worker. ### Parameters - `account_id: str` Identifier. - `hostname: str` Hostname of the domain. Can be either the zone apex or a subdomain of the zone. Requests to this hostname will be routed to the configured Worker. - `service: str` Name of the Worker associated with the domain. Requests to the configured hostname will be routed to this Worker. - `environment: Optional[str]` Worker environment associated with the domain. - `zone_id: Optional[str]` ID of the zone containing the domain hostname. - `zone_name: Optional[str]` Name of the zone containing the domain hostname. ### Returns - `class DomainUpdateResponse: …` - `id: str` Immutable ID of the domain. - `cert_id: str` ID of the TLS certificate issued for the domain. - `environment: str` Worker environment associated with the domain. - `hostname: str` Hostname of the domain. Can be either the zone apex or a subdomain of the zone. Requests to this hostname will be routed to the configured Worker. - `service: str` Name of the Worker associated with the domain. Requests to the configured hostname will be routed to this Worker. - `zone_id: str` ID of the zone containing the domain hostname. - `zone_name: str` Name of the zone containing the domain 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 ) domain = client.workers.domains.update( account_id="023e105f4ecef8ad9ca31a8372d0c353", hostname="app.example.com", service="my-worker", ) print(domain.id) ``` #### 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" } } ], "result": { "id": "dbe10b4bc17c295377eabd600e1787fd", "cert_id": "9fdf92c8-64c2-4a3d-b1af-e15304961145", "environment": "production", "hostname": "app.example.com", "service": "my-worker", "zone_id": "593c9c94de529bbbfaac7c53ced0447d", "zone_name": "example.com" }, "success": true } ``` ## Detach Domain `workers.domains.delete(strdomain_id, DomainDeleteParams**kwargs) -> DomainDeleteResponse` **delete** `/accounts/{account_id}/workers/domains/{domain_id}` Detaches a domain from a Worker. Both the Worker and all of its previews are no longer routable using this domain. ### Parameters - `account_id: str` Identifier. - `domain_id: str` ID of the domain. ### Returns - `class DomainDeleteResponse: …` - `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 ) domain = client.workers.domains.delete( domain_id="dbe10b4bc17c295377eabd600e1787fd", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(domain.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 ### Domain List Response - `class DomainListResponse: …` - `id: str` Immutable ID of the domain. - `cert_id: str` ID of the TLS certificate issued for the domain. - `environment: str` Worker environment associated with the domain. - `hostname: str` Hostname of the domain. Can be either the zone apex or a subdomain of the zone. Requests to this hostname will be routed to the configured Worker. - `service: str` Name of the Worker associated with the domain. Requests to the configured hostname will be routed to this Worker. - `zone_id: str` ID of the zone containing the domain hostname. - `zone_name: str` Name of the zone containing the domain hostname. ### Domain Get Response - `class DomainGetResponse: …` - `id: str` Immutable ID of the domain. - `cert_id: str` ID of the TLS certificate issued for the domain. - `environment: str` Worker environment associated with the domain. - `hostname: str` Hostname of the domain. Can be either the zone apex or a subdomain of the zone. Requests to this hostname will be routed to the configured Worker. - `service: str` Name of the Worker associated with the domain. Requests to the configured hostname will be routed to this Worker. - `zone_id: str` ID of the zone containing the domain hostname. - `zone_name: str` Name of the zone containing the domain hostname. ### Domain Update Response - `class DomainUpdateResponse: …` - `id: str` Immutable ID of the domain. - `cert_id: str` ID of the TLS certificate issued for the domain. - `environment: str` Worker environment associated with the domain. - `hostname: str` Hostname of the domain. Can be either the zone apex or a subdomain of the zone. Requests to this hostname will be routed to the configured Worker. - `service: str` Name of the Worker associated with the domain. Requests to the configured hostname will be routed to this Worker. - `zone_id: str` ID of the zone containing the domain hostname. - `zone_name: str` Name of the zone containing the domain hostname. ### Domain Delete Response - `class DomainDeleteResponse: …` - `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`