# manage_domain_contacts

> Read or change the registrar contacts of an owned domain — one tool, several actions.

- Tier: D
- Required scope: write:domains
- Annotations: destructiveHint
- Docs: https://api.inleed.com/tools/manage-domain-contacts

## Description

Read or change the registrar contacts of an owned domain — one tool, several actions. `action:"get"` lists every registry contact (registrant/admin/tech/billing) with name, address, e-mail and phone; `action:"verification"` returns the ICANN Whois-accuracy status that can suspend a gTLD; `action:"update"` overwrites the domain's registry contact (needs the full contact: `first_name`, `last_name`, `email`, `street`, `city`, `postalcode`, `country`, `phone`); `action:"resend-verification"` tries to re-send the verification e-mail. `update` is irreversible and returns A confirmation URL — nothing changes until the human approves it; the reads apply immediately, and `resend-verification` reports `supported:false` (re-trigger it in the client area). This is the registrar contact, not the account profile — for the account owner use `account_overview`; to change the registrant organisation (a BankID-signed owner change) use `request_owner_change`.

## Input schema

- `input` — string (required). A domain, email address, website URL, numeric service id, or hosting-account username the customer actually owns. Resolved to the owning account automatically; the resolved target is echoed back in the response.
- `action` — enum (required). Which operation: get (list contacts), verification (ICANN status), update (overwrite the contact — returns a confirmation URL), or resend-verification. One of get, update, verification, resend-verification.
- `first_name` — string. For update: the contact's first (given) name.
- `last_name` — string. For update: the contact's last (family) name.
- `email` — string. For update: the contact e-mail address.
- `street` — string. For update: the street address.
- `city` — string. For update: the city / locality.
- `postalcode` — string. For update: the postal / ZIP code.
- `country` — string. For update: the ISO-3166 alpha-2 country code, e.g. SE.
- `phone` — string. For update: the phone number in international form, e.g. +46.812345678.
- `state` — string. For update (optional): the state / province / county.
- `company` — string. For update (optional): the organisation name.
- `organization_no` — string. For update (optional): the organisation / company registration number.
- `vat_number` — string. For update (optional): the VAT number.
- `attempt_key` — string. Optional idempotency key for update: reuse the same value to re-fetch an existing hold instead of creating a second one.

## Example call

```json
{
  "name": "manage_domain_contacts",
  "arguments": {
    "input": "example.se",
    "action": "get"
  }
}
```

