# Set a domain's registrant contact

> Tell the registry who owns a domain registered with Coritan, and keep the owner's name, email, phone and address up to date.

Source: https://www.coritan.com/docs/websites/domains/registrant-contact/

In the dashboard:

- /dashboard/websites/…/settings: https://www.coritan.com/dashboard/websites

The *registrant* is a domain's owner as its registry records it: a name, an organization when a company owns the domain, an email address, a phone number and a postal address. Coritan sends the contact to the registry when you save it, and keeps nothing the registry refuses. With WHOIS privacy on, public WHOIS lookups do not show these details ([Turn on WHOIS privacy and transfer lock](/docs/websites/domains/whois-privacy-and-transfer-lock/)).

## Before you begin

- The domain must be registered with Coritan, and its registration must be `active` to change the contact ([Statuses](/docs/websites/domains/#statuses)). You can read the contact in any status.
- A team member working in your account needs the **Technical** or **Admin** role to change the contact. Every role can read it ([Roles](/docs/account/team-members/#roles)).

## Set the contact

1. In the dashboard, go to [Websites](https://www.coritan.com/dashboard/websites), open the domain and select the **Settings** tab.
2. In the **Registrant contact** card, select **Edit registrant**, or **Add registrant** when no contact is saved yet.
3. Fill in the owner's details:
   - **Name**: the owner's full name.
   - **Organization** (optional): fill it in when a company or other organization owns the domain.
   - **Email** and **Phone**. Start the phone number with `+` and the country code, then a space and the number, such as `+44 20 7946 0000`.
   - **Address**, **City or town** and **Country**. **Address line 2**, **State, county or region** and **Postcode** are optional.
4. Select **Save registrant**.

## Result

The dashboard confirms the save, and the card shows the contact with **Registry** as `Sent` and the date the registry took it. The domain's other contacts, for administration, technical matters and billing, stay as they are.

Until you add a contact, the card says that none is saved, and the registry keeps the contact it already has. A contact that shows `Not sent` came with your order and has not reached the registry yet. Check it, then select **Edit registrant** and **Save registrant** to send it.

## Troubleshooting

When the registry does not take the contact, the card shows `Could not save the registrant contact` with one of these reasons, and keeps the contact you had.

`The registry refused the contact: …`
: The registry did not accept one of the values, and the text after the colon says which. Correct it and save again.

`We could not reach the registry. Try again later.`
: The registry did not answer, so nothing changed. Save again in a few minutes.

`The registry did not return the domain's other contacts, so we did not change the registrant. Try again later.`
: Coritan keeps the domain's other contacts when it changes the registrant, and could not read them this time. Try again later, and contact [support](/docs/support/) if it keeps happening.

`You saved registrant contacts many times in the last hour. Wait a while and try again.`
: Your account made too many saves in the last hour, across all its domains. Wait up to an hour, then save again.

## Related

- [How domain registration works](/docs/websites/domains/)
- [Register a domain](/docs/websites/domains/register-a-domain/)
- [Turn on WHOIS privacy and transfer lock](/docs/websites/domains/whois-privacy-and-transfer-lock/)

## With the API

Read the contact:

```bash
curl https://api.coritan.com/api/v1/domains/registrations/7/registrant \
  -H "Authorization: Bearer $CORITAN_TOKEN"
```

```json
{
  "domain": "example.com",
  "registrant": {
    "name": "Ada Lovelace",
    "organization": null,
    "email": "ada@example.com",
    "phone": "+44.2079460000",
    "address_line1": "12 Marylebone Road",
    "address_line2": null,
    "city": "London",
    "region": null,
    "postcode": "NW1 5LR",
    "country": "GB",
    "country_name": "United Kingdom"
  },
  "registry": {"status": "sent", "sent_at": "2026-09-16T13:40:00Z"}
}
```

`registrant` is `null` until a contact is saved. `registry.status` is `sent` once the registry holds this contact as the domain's registrant, and `not_sent` while it does not.

Replace the contact with `PUT`. The body takes the fields above except `country_name`, which you may send back and the API ignores. A field you leave out is cleared, so send the whole contact. `name`, `email`, `phone`, `address_line1`, `city` and `country` are required. `country` is a two-letter ISO 3166-1 code, and `phone` is `+`, the country code, a space, dot or hyphen, then the number; the API stores it as `+CC.NUMBER`.

```bash
curl -X PUT https://api.coritan.com/api/v1/domains/registrations/7/registrant \
  -H "Authorization: Bearer $CORITAN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "Ada Lovelace", "email": "ada@example.com", "phone": "+44 20 7946 0000", "address_line1": "12 Marylebone Road", "city": "London", "postcode": "NW1 5LR", "country": "GB"}'
```

The answer has the same shape as the `GET`. Saving the contact the registry already holds changes nothing.

- `422`: a field is wrong or unknown. `detail` has one entry per field, with `loc` naming it and `msg` saying what to change.
- `429`: the account saved too many contacts in the last hour. `Retry-After` says how many seconds to wait.
- `502`: the registry refused the contact or did not answer, and `detail` says which. Nothing changed.
- `404` with `Registration not found`: the registration is not yours, or it is not `active` (for `PUT` only).

To register a domain with its registrant, send the same fields as `registrant` in the body of `POST /api/v1/domains/register` ([Register a domain](/docs/websites/domains/register-a-domain/)). Coritan sends the contact to the registry before it takes any credit. A contact the registry refuses answers `502`, and you are not charged.

## API

- `GET /api/v1/domains/registrations/{reg_id}/registrant`: The domain's registrant contact as we hold it, whatever the registration's status (https://www.coritan.com/docs/api/reference/client/domains/#op-get-api-v1-domains-registrations-reg-id-registrant)
- `PUT /api/v1/domains/registrations/{reg_id}/registrant`: Replace the domain's registrant contact and send it to the registry (https://www.coritan.com/docs/api/reference/client/domains/#op-put-api-v1-domains-registrations-reg-id-registrant)
