Skip to content

app.org_domains

TableRow level security on

Domains an org claims (Section 12, Section 4.8.1, Section 4.8.3): custom Atlas and Gateway hosts, email sending domains, and verified domains that earn the verified badge and may allow automatic join with a default role. Verification state is written only by the platform verification service.

Primary key: id

Columns of app.org_domains
ColumnTypeNullableDescription
iduuidNoPrimary key, UUID v7.
org_iduuidNoOwning org. A row never moves to another org.References app.organizations.id
hostnametextNoLowercase host name, for example gateway.example.com.
purposeapp.org_domain_purposeNoWhat the domain is for.
verification_stateapp.domain_verification_stateNoDNS verification state; changed only by app.record_domain_verification.
verification_tokentextNoValue the org publishes in a DNS TXT record to prove control.
verified_attimestamp with time zoneYesWhen verification last succeeded; NULL unless Verified.
last_checked_attimestamp with time zoneYesWhen the verification service last checked DNS.
auto_join_role_iduuidYesRole given to a person with a confirmed address at this verified domain who joins automatically; NULL turns automatic join off.References app.roles.id
deleted_attimestamp with time zoneYesSoft delete time. A row with deleted_at set is ignored by every access helper.
created_attimestamp with time zoneNoWhen the row was inserted. Set by the database.
created_byuuidYesPerson who inserted the row, or null for a platform process. Set by the database.References app.people.id
updated_attimestamp with time zoneNoWhen the row last changed. Set by the database.
updated_byuuidYesPerson who last changed the row, or null for a platform process. Set by the database.References app.people.id
provisioning_statusapp.domain_provisioning_statusNoWhere the domain stands at its provider: Not Started, Requested, Pending DNS, Active, Failed or Released. Written only by the org-lifecycle worker (app.record_domain_provisioning).
provider_reftextYesThe domain's identifier at its provider: the host name on the Vercel project, or the Resend domain id.
dns_recordsjsonbNoDNS records the org publishes for the provider, as the provider gave them: an array of {type, name, value, purpose} (for example the CNAME of an Atlas host, or the SPF, DKIM and DMARC records of a sending domain).
tls_readybooleanNoTrue once the provider issued the TLS certificate of an Atlas or Gateway host (Vercel issues it automatically after DNS verification).
provisioned_attimestamp with time zoneYesWhen the provider first reported the domain active.
provisioning_errortextYesWhy the latest provisioning step failed, as the worker recorded it.