Domain Verification
Verify ownership of a domain to enable custom branding and SSO domain restrictions.
Endpoints
POST /api/domain-verification/initiate
Initiates domain verification for an organization.
Input: ~~~json { "org_uuid": "org-uuid-12345", "domain": "acme.com" } ~~~
Output: ~~~json { "verification_id": "ver-uuid-123", "txt_record_name": "_buttrbase-verify.acme.com", "txt_record_value": "buttrbase-verify=abc123xyz", "expires_at": "2024-07-18T00:00:00Z" } ~~~
Add the TXT record to your DNS configuration.
POST /api/domain-verification/verify
Checks if the TXT record has propagated and marks the domain as verified.
Input: ~~~json { "verification_id": "ver-uuid-123" } ~~~
Output: ~~~json { "verified": true, "domain": "acme.com" } ~~~
GET /api/domain-verification
Lists all verified domains for an organization.Query Parameters:
org_uuid: The organization UUID.
Error Reference
| Status | Code | Meaning |
|--------|------|---------|
| 400 | validation_error | Request body failed validation |
| 401 | unauthorized | Missing or invalid Authorization header |
| 403 | forbidden | Insufficient permissions |
| 404 | not_found | Resource does not exist |
| 409 | conflict | Resource already exists or constraint violated |
| 422 | unprocessable | Semantic validation failure |
| 429 | rate_limited | Request rate exceeded |
| 500 | internal_error | Unexpected server error |