Contact
A registrant contact record submitted to domain registries. Two shapes are supported: member contacts derive their registrant payload from an existing user, organization location, and optional personal phone; custom contacts are free-form rows whose payload is operator-edited end-to-end. The snapshot fields (first_name, last_name, org_name, email, phone, fax, address, country_code) carry a stable copy of the registrant payload so the registry sees a consistent submission even when the upstream rows change. On a member contact those fields are refresher-owned and reflect the latest upstream values; on a custom contact they are taken directly from the request body. disclose is the per-contact privacy flag forwarded to the registry. It is not derived from upstream and remains operator-editable on both shapes.
- objectType: string
Resource type identifier, always "contact".
- idType: string
Stable identifier for the contact.
- orgType: string
_id Identifier of the owning organization.
- kindType: string · contact.ContactKindenum
Contact shape: "member" (derived from user + location + optional phone) or "custom" (free-form).
values- member =
Kind Member - custom =
Kind Custom
- userType: string
_id Identifier of the linked user. Present on member contacts only.
- locationType: string
_id Identifier of the linked organization location. Present on member contacts only.
- phoneType: string
_id Identifier of the linked personal phone. Optional on member contacts; when absent the snapshot's
phoneis composed from the location's office phone. Always null on custom contacts. - firstType: string
_name Registrant first name.
- lastType: string
_name Registrant last name.
- orgType: string
_name Registrant organization name. Derived from the org's legal name on member contacts; free-form on custom contacts.
- emailType: string
Registrant email address.
- phoneType: string
Registrant phone in canonical E.164 form.
- faxType: string
Registrant fax in canonical E.164 form. Optional; many registries accept an empty value.
- street1Type: string
First line of the street address.
- street2Type: string
Second line of the street address. Optional.
- cityType: string
City or locality.
- regionType: string
State, province, or administrative region.
- postalType: string
_code Postal or ZIP code.
- countryType: string
_code ISO 3166-1 alpha-2 country code.
- discloseType: boolean
Per-contact privacy flag submitted to the registry. True (default) permits the registry to disclose the registrant payload via WHOIS/RDAP; false requests redaction. Not derived from upstream; operator-editable on both kinds.
- verificationType: string · contact.VerificationStatusenum
_status Explicit verification state of the contact: "unverified" or "verified". Member contacts are stamped "verified" at create time because their snapshot is composed from already-validated upstream rows; custom contacts start "unverified" and transition only via the verification flow. Not operator-editable via PATCH.
values- unverified =
Status Unverified - verified =
Status Verified
- isType: boolean
_active Whether the contact is available for assignment to new team role slots. Defaults to true; flipping to false is the reversible operator switch above soft-delete. A contact currently referenced by any team's role slot cannot be deactivated until the slot is reassigned or cleared.
- verifiedType: string
_at Timestamp of the last successful verification, in RFC 3339 UTC form. Supporting observability for verification_status; null when the contact has never been verified.
- createdType: string
_at Creation timestamp in RFC 3339 UTC form.
- updatedType: string
_at Last-update timestamp in RFC 3339 UTC form.