Available now. Domains ship with Identity, gated by the policy layer — domain purchase is approval-gated by default.
Email track
Governs whether the domain can send and receive mail. Exposed as
status (overall) plus dns_status (mail DNS).App / HTTP track
Governs whether the domain can serve an app over HTTP. Exposed as
app_connect_status, entirely separate from the email track.Verification tracks and their states
System domains: auto-provisioning at signup
Every organization gets a workingsystem domain automatically. Provisioning is fire-and-forget — it runs in the background at signup and self-heals, so a usable domain is ready without any action from you.
1
Create at the email layer
Vetta creates the domain at the email layer with sending and receiving enabled.
2
Write DNS into the shared apex zone
The required SPF/DKIM/MX/DMARC records are written directly into Vetta’s shared apex zone — no manual step, because Vetta controls the zone.
3
Trigger verification and poll briefly
Verification is triggered immediately and polled for a short window. When it clears, the domain row is usable.
4
Background healing
A background sweep periodically re-verifies any domain still
pending, so transient DNS propagation delays resolve themselves.CLI
Because system domains are list-only, the resulting
{org-slug}.<vetta-apex> subdomain is the fastest way to get an agent sending and receiving mail — no registrar steps at all.BYOD: connect and verify your own domain
Connecting anexternal domain is a two-call flow. connect returns the DNS records to add at your registrar; verify checks them and advances both tracks.
1
Connect the domain
Vetta returns a set of DNS records to add at your registrar. The exact set is returned dynamically — typically a
TXT for SPF, TXT/CNAME for DKIM, MX for inbound, sometimes a CNAME, plus a _dmarc TXT.CLI
2
Add the records at your registrar
Add every returned record exactly. Propagation can take a few minutes to a few hours depending on your registrar.
3
Verify
CLI
• Company/email track:
pending_dns → active
• DNS track:
pending_verification → provisionedA domain is an organization object, not an identity one — two personas routinely send from the
same domain, and the system domain belongs to the organization (ADR-0119). Earlier drafts of this
page nested these calls under
/v1/identities/{id}/domains; that spelling is not served. An
identity reaches a domain through the inboxes provisioned on it.The email readiness gate
The three email-track requirements combine into a single practical rule: a domain must be verified before an inbox can send.Protected DNS records
Some records are managed by Vetta to keep deliverability and inbound routing intact. The agent cannot edit them:_dmarc_domainkeyand*._domainkey(DKIM)- inbound
MXand their associatedTXT
system domain the entire zone is list-only — any edit attempt returns 403. On external/purchased domains you may manage your other records, but the protected set above is still off-limits to the agent.
CLI
Configuration reference
Verification track fields
string
Email-track lifecycle for the domain as a whole.
pending_dns → active. Creating an inbox requires active.string
Email DNS (SPF/DKIM) provisioning state.
pending_verification → provisioned. Sending requires provisioned.string
App/HTTP track state, independent of the two email fields above. Follows its own
pending → connected lifecycle.Registrar kinds
A domain’skind records where it lives and who owns it:
kind
Auto-provisioned subdomain under Vetta’s shared apex — e.g.
{org-slug}.<vetta-apex>. Created for you at signup. List-only: DNS records are managed by Vetta and cannot be edited (editing returns 403).kind
Bring-your-own-domain (BYOD). You own the domain at your registrar; Vetta returns the DNS records to add, then verifies them.
kind
Bought through Vetta. Vetta owns registration and manages the zone on your behalf. Purchase is approval-gated by default.
Next: email
Provision inboxes on a verified domain and send mail.