Register custom email sending domain
Register or replace the custom email sending domain for this company. Returns SPF and DKIM DNS records to add. After adding DNS records, use GET to poll verification status. Limited to 5 requests per minute to prevent domain-change spam.
Authorization
bearerAuth Supabase JWT bearer token for dashboard / user-scoped endpoints. Role-derived scopes: ROOT/ADMIN → full admin; USER → read-only treasury.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://loading/v1/auth/branding/email/verify-domain" \ -H "Content-Type: application/json" \ -d '{ "custom_domain": "string" }'{
"success": true,
"timestamp": "2019-08-24T14:15:22Z",
"data": null,
"message": "string",
"pagination": {
"total": 0,
"limit": 1,
"offset": 0,
"has_more": true,
"truncated": true,
"cursors": {
"first": "string",
"last": "string"
}
}
}{
"success": true,
"timestamp": "2019-08-24T14:15:22Z",
"data": null,
"message": "string",
"pagination": {
"total": 0,
"limit": 1,
"offset": 0,
"has_more": true,
"truncated": true,
"cursors": {
"first": "string",
"last": "string"
}
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}Send a branding test email
Send a live test email using the company's saved branding settings. The email is rendered with the currently persisted branding (not a draft). Save changes with PATCH /branding before calling this. `email_type` selects the template: receipt | login | invoice (default). Limited to 3 requests per minute per user.
Preview checkout branding
Render a server-side HTML snapshot of the checkout surface with the provided (unsaved) branding applied. Pass the current draft branding from the editor. Result is cached for 60 seconds per unique payload.