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.

  • object
    Type: string

    Resource type identifier, always "contact".

  • id
    Type: string

    Stable identifier for the contact.

  • org_id
    Type: string

    Identifier of the owning organization.

  • kind
    Type: string · contact.ContactKindenum

    Contact shape: "member" (derived from user + location + optional phone) or "custom" (free-form).

    values
    • member = KindMember
    • custom = KindCustom
  • user_id
    Type: string

    Identifier of the linked user. Present on member contacts only.

  • location_id
    Type: string

    Identifier of the linked organization location. Present on member contacts only.

  • phone_id
    Type: string

    Identifier of the linked personal phone. Optional on member contacts; when absent the snapshot's phone is composed from the location's office phone. Always null on custom contacts.

  • first_name
    Type: string

    Registrant first name.

  • last_name
    Type: string

    Registrant last name.

  • org_name
    Type: string

    Registrant organization name. Derived from the org's legal name on member contacts; free-form on custom contacts.

  • email
    Type: string

    Registrant email address.

  • phone
    Type: string

    Registrant phone in canonical E.164 form.

  • fax
    Type: string

    Registrant fax in canonical E.164 form. Optional; many registries accept an empty value.

  • street1
    Type: string

    First line of the street address.

  • street2
    Type: string

    Second line of the street address. Optional.

  • city
    Type: string

    City or locality.

  • region
    Type: string

    State, province, or administrative region.

  • postal_code
    Type: string

    Postal or ZIP code.

  • country_code
    Type: string

    ISO 3166-1 alpha-2 country code.

  • disclose
    Type: 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.

  • verification_status
    Type: string · contact.VerificationStatusenum

    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 = StatusUnverified
    • verified = StatusVerified
  • is_active
    Type: boolean

    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.

  • verified_at
    Type: string

    Timestamp of the last successful verification, in RFC 3339 UTC form. Supporting observability for verification_status; null when the contact has never been verified.

  • created_at
    Type: string

    Creation timestamp in RFC 3339 UTC form.

  • updated_at
    Type: string

    Last-update timestamp in RFC 3339 UTC form.