Chief Tools Logo
Domain Chief API v1

Endpoints for managing contacts.


List contacts

GET
https://domain.chief.app/api/v1
/contacts
OpenID Connect
or
Bearer (ctp_*)
or
Bearer (ctt_*)

List all contacts for the authenticated team.

List contacts › query Parameters

expand[]
​string[]

Expand related resources.

Enum values:
parent
query
​string · minLength: 1

Search query.

parent_handle
​string

Filter contacts to only those that are sub-contacts of the given parent contact handle.

sort
​string[] · maxItems: 5 · style: form

Sort by up to five fields, separated by commas. Prefix a field with - for descending order.

Enum values:
handle
-handle
is_default
-is_default
id
-id
Default: ["id"]
page
​integer · min: 1
Default: 1
per_page
​integer · min: 1 · max: 100
Default: 50
​object

Search metadata key-value pairs. Only exact matches are supported.

List contacts › Responses

Paginated set of Contact

​Contact[] · required
​object · required
​object · required

Create a new contact

POST
https://domain.chief.app/api/v1
/contacts
OpenID Connect
or
Bearer (ctp_*)
or
Bearer (ctt_*)

Create a new contact for the authenticated team.

If a contact with identical details already exists for the team, the existing contact will be returned instead of creating a duplicate (HTTP 200 instead of 201). Use allow_duplicate: true to force creation of a new contact.

Create a new contact › query Parameters

expand[]
​string[]

Expand related resources.

Enum values:
parent

Create a new contact › Request Body

first_name
​string · maxLength: 255 · required
last_name
​string · maxLength: 255 · required
address_street
​string · maxLength: 255 · required
address_house_number
​string · maxLength: 255 · required
address_postal_code
​string · maxLength: 255 · required

Postal code in the format of the address country. Stored in the canonical format of that country, for example "1234 AB" for the Netherlands.

address_city
​string · maxLength: 255 · required
address_country_code
​string · minLength: 2 · maxLength: 2 · required

Country code in ISO 3166-1 alpha-2 format.

Example: NL
email
​string · email · maxLength: 255 · required

E-mail address of the contact. The domain of the address must be able to receive e-mail.

phone
​string · maxLength: 255 · required

Phone numbers need to be provided in international format.

Example: +31 20 1234567
entity_type
​string · enum

General legal classification of the contact. When omitted, it is inferred from company_name.

Enum values:
individual
unincorporated_organization
organization
company_name
​string | null · maxLength: 255

Company name. Required for organization and unincorporated organization contacts.

company_registration_number
​string | null · maxLength: 255

If the contact is a company, this field could be required for some TLDs.

company_trading_name
​string | null · maxLength: 255

Trading name for the company. Some registries require this as additional information.

company_url
​string | null · uri · maxLength: 255

Company website URL. Some registries require this as additional information.

vat_registration
​string | null · maxLength: 255

If the contact is a company, this field could be required for some TLDs.

address_state
​string | null · maxLength: 255

State or province. Accepts either an abbreviation (e.g. "NY") or full name (e.g. "New York"). Stored as abbreviation.

​object

TLD-specific extension data.

parent_handle
​string | null

Handle of the parent contact. When provided, this contact will be grouped under the parent contact. This is purely for organizational purposes and has no effect on the use of the contact when registering or transferring domains.

Invalid handles will be ignored.

is_default
​boolean

Indicates if the contact should be the default contact for the team.

allow_duplicate
​boolean

When true, forces creation of a new contact even if one with identical details exists.

​object

Optional metadata to attach to the contact. Metadata keys must be strings and cannot exceed 40 characters or contain [ or ] characters. Metadata values must be strings and cannot exceed 500 characters. A contact cannot have more than 50 metadata keys.

Example: {"key1":"value1","key2":"value2"}

Create a new contact › Responses

Contact

​Contact · required

List specific contacts

POST
https://domain.chief.app/api/v1
/contacts/list
OpenID Connect
or
Bearer (ctp_*)
or
Bearer (ctt_*)

Retrieve up to 100 contacts by handle. Results preserve the requested order, but contacts that do not exist or are not accessible to the authenticated team are omitted.

List specific contacts › Request Body

contacts
​string[] · minItems: 1 · maxItems: 100 · required

List of contact handles to retrieve.

expand
​string[]

Expand related resources.

Enum values:
parent

List specific contacts › Responses

Array of Contact

​Contact[] · required

Show contact

GET
https://domain.chief.app/api/v1
/contacts/{contactHandle}
OpenID Connect
or
Bearer (ctp_*)
or
Bearer (ctt_*)

Show a single contact for the authenticated team.

Show contact › path Parameters

contactHandle
​string · required

Show contact › query Parameters

expand[]
​string[]

Expand related resources.

Enum values:
parent

Show contact › Responses

Contact

​Contact · required

Update a contact

PATCH
https://domain.chief.app/api/v1
/contacts/{contactHandle}
OpenID Connect
or
Bearer (ctp_*)
or
Bearer (ctt_*)

Update properties of a single contact for the authenticated team.

You cannot update the name or company name of a contact. If you need to update these properties, you need to create a new contact.

Only the properties that are provided will be updated. If you omit a property it will not be changed.

Update a contact › path Parameters

contactHandle
​string · required

Update a contact › query Parameters

expand[]
​string[]

Expand related resources.

Enum values:
parent

Update a contact › Request Body

entity_type
​string · enum

General legal classification of the contact. Personal contacts cannot be changed into business contacts or vice versa.

Enum values:
individual
unincorporated_organization
organization
company_registration_number
​string | null · maxLength: 255

If the contact is a company, this field could be required for some TLDs.

company_trading_name
​string | null · maxLength: 255

Trading name for the company. Some registries require this as additional information.

company_url
​string | null · uri · maxLength: 255

Company website URL. Some registries require this as additional information.

vat_registration
​string | null · maxLength: 255

If the contact is a company, this field could be required for some TLDs.

address_street
​string · maxLength: 255
address_house_number
​string · maxLength: 255
address_postal_code
​string · maxLength: 255

Postal code in the format of the address country. Stored in the canonical format of that country, for example "1234 AB" for the Netherlands.

address_city
​string · maxLength: 255
address_state
​string | null · maxLength: 255

State or province. Accepts either an abbreviation (e.g. "NY") or full name (e.g. "New York"). Stored as abbreviation.

email
​string · email · maxLength: 255

When updating the e-mail address of a contact that is in use. Please take care to verify the e-mail address if needed. Otherwise connected domains might be suspended. The domain of the address must be able to receive e-mail.

phone
​string · maxLength: 255

Phone numbers need to be provided in international format.

Example: +31 20 1234567
​object

TLD-specific extension data.

parent_handle
​string | null

Handle of the parent contact. When provided, this contact will be grouped under the parent contact. This is purely for organizational purposes and has no effect on the use of the contact when registering or transferring domains.

Invalid handles will be interpreted as removing the parent contact.

is_default
​boolean

Indicates if the contact is the default contact for the team. Can only be true or unset.

​object

Optional metadata to attach to the contact. Metadata keys must be strings and cannot exceed 40 characters or contain [ or ] characters. Metadata values must be strings and cannot exceed 500 characters. A contact cannot have more than 50 metadata keys.

To remove a metadata key, set its value to an empty string. To remove all metadata, set the metadata field to an empty object: {}.

Example: {"key1":"value1","key2":"value2"}

Update a contact › Responses

Contact

​Contact · required

Delete a contact

DELETE
https://domain.chief.app/api/v1
/contacts/{contactHandle}
OpenID Connect
or
Bearer (ctp_*)
or
Bearer (ctt_*)

Delete a single contact for the authenticated team.

A contact can only be deleted if there is at least one contact left in the team and it's not used as a contact for any domain.

Delete a contact › path Parameters

contactHandle
​string · required

Delete a contact › Responses

No content

No data returned