Skip to content
Start here

Attach Domain

client.workers.domains.update(DomainUpdateParams { account_id, hostname, service, 3 more } params, RequestOptionsoptions?): DomainUpdateResponse { id, cert_id, environment, 4 more }
PUT/accounts/{account_id}/workers/domains

Attaches a domain that routes traffic to a Worker.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Workers Scripts Write
ParametersExpand Collapse
params: DomainUpdateParams { account_id, hostname, service, 3 more }
account_id: string

Path param: Identifier.

maxLength32
hostname: string

Body param: 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: string

Body param: Name of the Worker associated with the domain. Requests to the configured hostname will be routed to this Worker.

Deprecatedenvironment?: string

Body param: Worker environment associated with the domain.

zone_id?: string

Body param: ID of the zone containing the domain hostname.

zone_name?: string

Body param: Name of the zone containing the domain hostname.

ReturnsExpand Collapse
DomainUpdateResponse { id, cert_id, environment, 4 more }
id: string

Immutable ID of the domain.

cert_id: string

ID of the TLS certificate issued for the domain.

formatuuid
Deprecatedenvironment: string

Worker environment associated with the domain.

hostname: string

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: string

Name of the Worker associated with the domain. Requests to the configured hostname will be routed to this Worker.

zone_id: string

ID of the zone containing the domain hostname.

zone_name: string

Name of the zone containing the domain hostname.

Attach Domain

import Cloudflare from 'cloudflare';

const client = new Cloudflare({
  apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted
});

const domain = await client.workers.domains.update({
  account_id: '023e105f4ecef8ad9ca31a8372d0c353',
  hostname: 'app.example.com',
  service: 'my-worker',
});

console.log(domain.id);
{
  "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
}
Returns Examples
{
  "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
}