Reference
Enums, environment variables, error codes, and other lookup tables.
Enums
ConnectionState — created, pending_ownership, verifying, verified,
dns_writing, propagating, stalled, issuing_cert, live, drifted,
failed, archived.
SetupType — automatic, manual, semiautomatic, shared_login, async,
api. (Only automatic, manual, and Domain Connect are implemented in the
widget.)
UsageKind — connect, active_domain, cert, api_call.
Scope — connections:read, connections:write, apps:admin,
webhooks:write, usage:read.
Webhook events — domain.added, domain.verified, ssl.issued,
domain.flow.completed, domain.drift.
Common error codes
| Code | HTTP | Meaning |
|---|---|---|
unauthorized | 401 | Missing/invalid credential. |
forbidden | 403 | Valid credential lacks the required scope. |
not_found | 404 | Object doesn't exist or isn't in your tenant. |
invalid | 400 | Malformed request. |
HostnameConflict | 409 | Hostname already held active. |
ownership_not_found | 409 | Ownership TXT missing/incorrect at verify. |
QuotaExceeded | 402 | Plan connect limit reached (carries upgrade_url). |
billing_unavailable | 502 | No billing provider configured. |
internal | 500 | Server error (generic message + correlation ref). |
Environment variables
See Self-hosting → Configuration for the full control-plane and edge env tables.
Ownership challenge
- Name:
_customdomain-challenge.<hostname> - Type:
TXT - Value: the
valuereturned inownership_challengeon connection create.
Webhook signature
- Headers:
X-CD-Timestamp: <unix seconds>andX-CD-Signature: sha256=<hex> - Algorithm: HMAC-SHA256 over
${timestamp}.${rawBody}(the timestamp, a dot, then the exact request body), keyed by the endpoint's signing secret. Reject deliveries whose timestamp is outside a ~5-minute window. See Verifying signatures.
Resources
ARCHITECTURE.md(repository root ofapp/) — the two-plane design and invariants.CONTRACTS.md— frozen inter-component interfaces.BENCHMARKS.md— parity vs Entri + performance.openapi-v1.yaml— OpenAPI document (this reference is authoritative where the hand-written pages differ from the generated API reference).