# Domains ## List domains `client.registrar.domains.list(DomainListParamsparams, RequestOptionsoptions?): SinglePage` **get** `/accounts/{account_id}/registrar/domains` List domains handled by Registrar. ### Parameters - `params: DomainListParams` - `account_id: string` Identifier ### Returns - `Domain` - `id?: string` Domain identifier. - `available?: boolean` Shows if a domain is available for transferring into Cloudflare Registrar. - `can_register?: boolean` Indicates if the domain can be registered as a new domain. - `created_at?: string` Shows time of creation. - `current_registrar?: string` Shows name of current registrar. - `expires_at?: string` Shows when domain name registration expires. - `locked?: boolean` Shows whether a registrar lock is in place for a domain. - `registrant_contact?: RegistrantContact` Shows contact information for domain registrant. - `address: string` Address. - `city: string` City. - `country: string | null` The country in which the user lives. - `first_name: string | null` User's first name - `last_name: string | null` User's last name - `organization: string` Name of organization. - `phone: string | null` User's telephone number - `state: string` State. - `zip: string | null` The zipcode or postal code where the user lives. - `id?: string` Contact Identifier. - `address2?: string` Optional address line for unit, floor, suite, etc. - `email?: string` The contact email address of the user. - `fax?: string` Contact fax number. - `registry_statuses?: string` A comma-separated list of registry status codes. A full list of status codes can be found at [EPP Status Codes](https://www.icann.org/resources/pages/epp-status-codes-2014-06-16-en). - `supported_tld?: boolean` Whether a particular TLD is currently supported by Cloudflare Registrar. Refer to [TLD Policies](https://www.cloudflare.com/tld-policies/) for a list of supported TLDs. - `transfer_in?: TransferIn` Statuses for domain transfers into Cloudflare Registrar. - `accept_foa?: "needed" | "ok"` Form of authorization has been accepted by the registrant. - `"needed"` - `"ok"` - `approve_transfer?: "needed" | "ok" | "pending" | 3 more` Shows transfer status with the registry. - `"needed"` - `"ok"` - `"pending"` - `"trying"` - `"rejected"` - `"unknown"` - `can_cancel_transfer?: boolean` Indicates if cancellation is still possible. - `disable_privacy?: "needed" | "ok" | "unknown"` Privacy guards are disabled at the foreign registrar. - `"needed"` - `"ok"` - `"unknown"` - `enter_auth_code?: "needed" | "ok" | "pending" | 2 more` Auth code has been entered and verified. - `"needed"` - `"ok"` - `"pending"` - `"trying"` - `"rejected"` - `unlock_domain?: "needed" | "ok" | "pending" | 2 more` Domain is unlocked at the foreign registrar. - `"needed"` - `"ok"` - `"pending"` - `"trying"` - `"unknown"` - `updated_at?: string` Last updated. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const domain of client.registrar.domains.list({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', })) { console.log(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": "ea95132c15732412d22c1476fa83f27a", "available": false, "can_register": false, "created_at": "2018-08-28T17:26:26Z", "current_registrar": "Cloudflare", "expires_at": "2019-08-28T23:59:59Z", "locked": false, "registrant_contact": { "address": "123 Sesame St.", "city": "Austin", "country": "US", "first_name": "John", "last_name": "Appleseed", "organization": "Cloudflare, Inc.", "phone": "+1 123-123-1234", "state": "TX", "zip": "12345", "id": "ea95132c15732412d22c1476fa83f27a", "address2": "Suite 430", "email": "user@example.com", "fax": "123-867-5309" }, "registry_statuses": "ok,serverTransferProhibited", "supported_tld": true, "transfer_in": { "accept_foa": "needed", "approve_transfer": "unknown", "can_cancel_transfer": true, "disable_privacy": "ok", "enter_auth_code": "needed", "unlock_domain": "ok" }, "updated_at": "2018-08-28T17:26:26Z" } ], "success": true, "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000 } } ``` ## Get domain `client.registrar.domains.get(stringdomainName, DomainGetParamsparams, RequestOptionsoptions?): DomainGetResponse | null` **get** `/accounts/{account_id}/registrar/domains/{domain_name}` Show individual domain. ### Parameters - `domainName: string` Domain name. - `params: DomainGetParams` - `account_id: string` Identifier ### Returns - `DomainGetResponse = unknown` ### Example ```node 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.registrar.domains.get('cloudflare.com', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(domain); ``` #### 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": {}, "success": true } ``` ## Update domain `client.registrar.domains.update(stringdomainName, DomainUpdateParamsparams, RequestOptionsoptions?): DomainUpdateResponse | null` **put** `/accounts/{account_id}/registrar/domains/{domain_name}` Update individual domain. ### Parameters - `domainName: string` Domain name. - `params: DomainUpdateParams` - `account_id: string` Path param: Identifier - `auto_renew?: boolean` Body param: Auto-renew controls whether subscription is automatically renewed upon domain expiration. - `locked?: boolean` Body param: Shows whether a registrar lock is in place for a domain. - `privacy?: boolean` Body param: Privacy option controls redacting WHOIS information. ### Returns - `DomainUpdateResponse = unknown` ### Example ```node 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.registrar.domains.update('cloudflare.com', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(domain); ``` #### 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": {}, "success": true } ``` ## Domain Types ### Domain - `Domain` - `id?: string` Domain identifier. - `available?: boolean` Shows if a domain is available for transferring into Cloudflare Registrar. - `can_register?: boolean` Indicates if the domain can be registered as a new domain. - `created_at?: string` Shows time of creation. - `current_registrar?: string` Shows name of current registrar. - `expires_at?: string` Shows when domain name registration expires. - `locked?: boolean` Shows whether a registrar lock is in place for a domain. - `registrant_contact?: RegistrantContact` Shows contact information for domain registrant. - `address: string` Address. - `city: string` City. - `country: string | null` The country in which the user lives. - `first_name: string | null` User's first name - `last_name: string | null` User's last name - `organization: string` Name of organization. - `phone: string | null` User's telephone number - `state: string` State. - `zip: string | null` The zipcode or postal code where the user lives. - `id?: string` Contact Identifier. - `address2?: string` Optional address line for unit, floor, suite, etc. - `email?: string` The contact email address of the user. - `fax?: string` Contact fax number. - `registry_statuses?: string` A comma-separated list of registry status codes. A full list of status codes can be found at [EPP Status Codes](https://www.icann.org/resources/pages/epp-status-codes-2014-06-16-en). - `supported_tld?: boolean` Whether a particular TLD is currently supported by Cloudflare Registrar. Refer to [TLD Policies](https://www.cloudflare.com/tld-policies/) for a list of supported TLDs. - `transfer_in?: TransferIn` Statuses for domain transfers into Cloudflare Registrar. - `accept_foa?: "needed" | "ok"` Form of authorization has been accepted by the registrant. - `"needed"` - `"ok"` - `approve_transfer?: "needed" | "ok" | "pending" | 3 more` Shows transfer status with the registry. - `"needed"` - `"ok"` - `"pending"` - `"trying"` - `"rejected"` - `"unknown"` - `can_cancel_transfer?: boolean` Indicates if cancellation is still possible. - `disable_privacy?: "needed" | "ok" | "unknown"` Privacy guards are disabled at the foreign registrar. - `"needed"` - `"ok"` - `"unknown"` - `enter_auth_code?: "needed" | "ok" | "pending" | 2 more` Auth code has been entered and verified. - `"needed"` - `"ok"` - `"pending"` - `"trying"` - `"rejected"` - `unlock_domain?: "needed" | "ok" | "pending" | 2 more` Domain is unlocked at the foreign registrar. - `"needed"` - `"ok"` - `"pending"` - `"trying"` - `"unknown"` - `updated_at?: string` Last updated. ### Domain Get Response - `DomainGetResponse = unknown` ### Domain Update Response - `DomainUpdateResponse = unknown`