Domain

Owned domain with its nameservers, contacts, EPP statuses, DNSSEC, RGP statuses, registry timestamps, and latest-version metadata.

  • object
    Type: string

    Resource type identifier

  • id
    Type: string

    Domain typeid (prefix dom_)

  • org_id
    Type: string

    Owning organisation

  • primary_team_id
    Type: string

    Primary team responsible for the domain. Drives contact resolution (team-level registrant/admin/tech/billing) and is the team a user-bearing caller must be a member of to read the row by default.

  • team_ids
    Type: array string[]

    Additional teams granted access to the domain. Excludes the primary team. Empty array when no extra grants are in effect.

  • domain
    Type: string

    Fully-qualified domain name

  • label
    Type: string

    Label portion of the FQDN (everything left of the TLD)

  • tld
    Type: string

    Top-level domain

  • registry
    Type: object · Registry

    Upstream EPP registry sponsoring the TLD. Embedded as a typed handle so SDK consumers can render the registry without dereferencing config; nil only when the row has no resolved registry (should not happen for valid managed/external rows).

    • object
      Type: string

      Resource type identifier

    • name
      Type: string

      Registry slug as used by eppclientd (e.g. "verisign", "donuts")

  • kind
    Type: string

    Sponsorship classification. One of managed, external, backorder. Determines which other fields are populated.

  • status
    Type: string

    Lifecycle state. Valid values depend on kind.

  • roid
    Type: string

    Registry-assigned object identifier (RFC 5731). Populated only when the domain is sponsored by us (kind=managed).

  • auto_renew
    Type: boolean

    Whether the domain auto-renews at expiry

  • period
    Type: integer

    Registered term, expressed in the unit named by period_unit. Omitted when unknown.

  • period_unit
    Type: string

    Unit for the registered term. y (years) or m (months).

  • premium
    Type: boolean

    True when the domain was registered at a premium tier price

  • external_registrar
    Type: object · Registrar

    External registrar holding the domain. Populated for kind=external rows when RDAP returns it; nil on managed rows and on externals where the registrar is unknown.

    • object
      Type: string

      Resource type identifier

    • name
      Type: string

      Registrar slug (e.g. "godaddy", "namecheap")

  • contacts
    Type: array object[] · DomainContact[]

    Contact assignments by role (registrant, admin, tech, billing). One entry per assigned slot; empty when no contacts are bound (typical for kind=external and kind=backorder).

    One role/contact binding on a domain.

    • object
      Type: string

      Resource type identifier

    • role
      Type: string

      Role this contact fulfils. One of registrant, admin, tech, billing.

    • contact
      Type: object · Contact

      The contact assigned to the role

  • nameservers
    Type: array object[] · DomainNameserver[]

    Delegation set ordered by position. Empty array on rows that have not had nameservers configured yet.

    One nameserver delegation entry on a domain.

    • object
      Type: string

      Resource type identifier

    • id
      Type: string

      Link row typeid (prefix dns_)

    • host_id
      Type: string

      Host object typeid (prefix hst_). Shared across every domain that delegates to the same hostname under the same registry.

    • position
      Type: integer

      Ordinal position (1..13) — the order we send to the registry

    • hostname
      Type: string

      Fully-qualified hostname of the nameserver

    • host_kind
      Type: string

      Host classification. subordinate (in-bailiwick, has glue records) or external (third-party DNS provider).

    • ipv4_addresses
      Type: array string[]

      IPv4 glue addresses. Populated only for subordinate hosts.

    • ipv6_addresses
      Type: array string[]

      IPv6 glue addresses. Populated only for subordinate hosts.

  • epp_statuses
    Type: array string[]

    RFC 5731 EPP status codes currently applied to the domain. Verbatim registry strings (e.g. clientTransferProhibited, serverHold).

  • ds_records
    Type: array object[] · DomainDS[]

    RFC 5910 DNSSEC DS records. Empty when DNSSEC is not configured.

    One RFC 5910 DNSSEC DS record published for a domain.

    • object
      Type: string

      Resource type identifier

    • id
      Type: string

      Row typeid (prefix dsr_)

    • key_tag
      Type: integer

      Key tag (0..65535) per RFC 4034 §5.1

    • algorithm
      Type: integer

      IANA DNSSEC algorithm number (e.g., 13 = ECDSA P-256, 15 = Ed25519)

    • digest_type
      Type: integer

      IANA DNSSEC digest type (e.g., 2 = SHA-256, 4 = SHA-384)

    • digest
      Type: string

      Hex-encoded digest of the DNSKEY public key

    • max_sig_life
      Type: integer

      Optional RFC 5910 maxSigLife (seconds). Zero/omitted when the registry did not publish a maxSigLife for this record.

  • rgp_statuses
    Type: array string[]

    RFC 3915 Registry Grace Period status codes currently applied. Empty outside active grace/redemption windows.

  • version
    Type: integer

    Monotonically-incrementing version of the domain. Bumps once per change; matches the version whose actor attribution is reported in last_changed_by.

  • created_by
    Type: object · Actor

    Immutable creator attribution. Polymorphic by method.

    • object
      Type: string

      Resource type identifier

    • method
      Type: string

      Principal class. One of session, personal_key, org_key, system.

    • user
      Type: object · User

      Full user profile. Populated for session and personal_key (the key owner) when the user row is resolvable; null for org_key and system, and also null when the user row was deleted after the attribution was recorded.

    • personal_key
      Type: object · ActorPersonalKey

      Personal API key pointer. Populated only for personal_key.

    • org_key
      Type: object · ActorOrgKey

      Org API key pointer. Populated only for org_key.

  • last_changed_by
    Type: object · Actor

    Actor responsible for the live version. Polymorphic by method; omitted on rows that pre-date the version table (none in v1).

    • object
      Type: string

      Resource type identifier

    • method
      Type: string

      Principal class. One of session, personal_key, org_key, system.

    • user
      Type: object · User

      Full user profile. Populated for session and personal_key (the key owner) when the user row is resolvable; null for org_key and system, and also null when the user row was deleted after the attribution was recorded.

    • personal_key
      Type: object · ActorPersonalKey

      Personal API key pointer. Populated only for personal_key.

    • org_key
      Type: object · ActorOrgKey

      Org API key pointer. Populated only for org_key.

  • last_changed_at
    Type: string

    Timestamp of the live version's creation

  • registered_at
    Type: string

    Original registry create date. Null for backorder probes and some external-monitoring rows.

  • registry_updated_at
    Type: string

    Last update date reported by the registry

  • expires_at
    Type: string

    Registry expiry timestamp

  • last_transferred_at
    Type: string

    Last successful transfer date. Null when never transferred.

  • created_at
    Type: string

    Row creation timestamp (when we first tracked this domain)

  • updated_at
    Type: string

    Row last-update timestamp (any column change)