Domain
Owned domain with its nameservers, contacts, EPP statuses, DNSSEC, RGP statuses, registry timestamps, and latest-version metadata.
- objectType: string
Resource type identifier
- kindType: string
Sponsorship classification. One of
managed,external,backorder. Determines which other fields are populated. - statusType: string
Lifecycle state. Valid values depend on
kind. - autoType: boolean
_renew Whether the domain auto-renews at expiry
- periodType: PeriodProperties: 3
Registered term as a typed (count, unit) pair. Omitted when unknown.
- premiumType: boolean
True when the domain was registered at a premium tier price
- externalType: Registrar
_registrar Properties: 2External registrar holding the domain. Populated for
kind=externalrows when RDAP returns it; nil on managed rows and on externals where the registrar is unknown. - contactsType: array of DomainContactProperties: 4
Contact assignments by role (registrant, admin, tech, billing). One entry per assigned slot; empty when no contacts are bound (typical for
kind=externalandkind=backorder). - nameserversType: array of DomainNameserverProperties: 5
Delegation set ordered by position. Empty array on rows that have not had nameservers configured yet.
- eppType: array of string
_statuses RFC 5731 EPP status codes currently applied to the domain. Verbatim registry strings (e.g.
clientTransferProhibited,serverHold). - dnssecType: DomainDNSSECProperties: 4
The RFC 5910 DNSSEC section: the DS record set and, when the registry reports one, the maximum signature lifetime.
ds_recordsis empty when DNSSEC is not configured. - idType: string
Domain typeid (prefix
dom_) - rgpType: array of string
_statuses RFC 3915 Registry Grace Period status codes currently applied. Empty outside active grace/redemption windows.
- hasType: boolean
_auth _code Whether a transfer authorization code is stored for this domain. The code itself is never returned.
- isType: boolean
_transferable Whether the registration can change registrar right now, estimated from the last-synced data. The direction follows
kind: on amanagedrow it is whether the domain could leave us, on anexternalrow whether it could be transferred in. Always false onbackorder. A read-only derivation, never a permission: the registry decides the actual transfer. - transferType: string
_ineligible _reason Why the domain cannot change registrar. One of
not_registered,expired,redemption,pending_delete,pending_transfer,locked,too_recently_registered,too_recently_transferred,registrant_recently_changed,not_sponsored,mechanism_unsupported,tld_not_serviced. Omitted whenis_transferableis true. See the endpoint description for what each value means and what clears it. - transferableType: string
_at When the reason stops applying, for the three reasons that are time windows:
too_recently_registered,too_recently_transferredandregistrant_recently_changed. Null for every other reason, because they end on an act rather than a moment (lockedclears when the lock is cleared) or have no knowable end at all. Also null when the domain is already transferable. - versionType: integer
Monotonically-incrementing version of the domain. Bumps once per change; matches the version whose actor attribution is reported in
last_changed_by. - createdType: Actor
_by Properties: 6Immutable creator attribution. Polymorphic by
method. - lastType: Actor
_changed _by Properties: 6Actor responsible for the live version. Polymorphic by
method; omitted on rows that pre-date the version table (none in v1). - lastType: string
_changed _at Timestamp of the live version's creation
- registeredType: string
_at Original registry create date. Null for backorder probes and some external-monitoring rows.
- orgType: string
_id Owning organisation
- registryType: string
_updated _at Last update date reported by the registry
- expiresType: string
_at Registry expiry timestamp
- renewsType: string
_at When auto-renewal first attempts this domain: the configured renewal window before
expires_at. A value in the past means the renewal is due now or overdue. Null when the domain does not auto-renew, is not a managed registration, is notactive, has no expiry, or auto-renewal is disabled platform-wide. - lastType: string
_transferred _at Last successful transfer date. Null when never transferred.
- openType: integer
_change _request _count How many change requests on this domain are still running. Zero means nothing is in flight and a write will not hit a conflict on that account. Read
GET /changes?domain_id={id}for what they are. - authType: string
_code _last _revealed _at When the transfer authorization code was last handed out, and who asked for it. Null until somebody asks. On an extension whose registry issues codes on demand a reveal also replaces the code, so these move together with the two
auth_code_last_rotated_*fields. - authType: Actor
_code _last _revealed _by Properties: 6Who last asked for the transfer authorization code. Always a user acting through a session; the code cannot be requested with an API key. Null until somebody asks, and null again if that user is later removed.
- authType: string
_code _last _rotated _at When the transfer authorization code was last replaced, and so when every copy handed out before that stopped working. Null until it is replaced.
- authType: Actor
_code _last _rotated _by Properties: 6Who last replaced the transfer authorization code. Always a user acting through a session; the code cannot be replaced with an API key. Null until it is replaced, and null again if that user is later removed.
- transferType: DomainTransferOutSummary
_out Properties: 3What another registrar has asked for on this domain. The registry announces such a request rather than this API accepting it, so it can appear with nothing having happened here, and the domain's own
statusdoes not move while it is merely pending.opensays one is live at the registry;display_statussays whether it needs somebody, andaction_requiredis the only value that does. Always rendered, so a client reads the block unconditionally. ReadGET /domains/{id}/transfersfor the record behind it. - primaryType: string
_team _id 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.
- createdType: string
_at Row creation timestamp (when we first tracked this domain)
- updatedType: string
_at Row last-update timestamp (any column change)
- teamType: array of string
_ids Additional teams granted access to the domain. Excludes the primary team. Empty array when no extra grants are in effect.
- domainType: string
Fully-qualified domain name
- labelType: string
Label portion of the FQDN (everything left of the TLD)
- tldType: string
Top-level domain
- registryType: RegistryProperties: 2
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).