Domain endpoints sit under
/api/brands/{brand}/ (no moduleAccess required). Authenticate with EF-Access-Key.List Domains
Paginated list responses use Laravel’s standard shape: the domain rows are in
data, not domains. Example: response.data[0].domain.number
Results per page (1–100, default: 25)
string
Search by domain name
cURL
List All Domains (Unpaginated)
data or domains wrapper) — used for dropdown selectors. Each item includes id, domain, and merchant_code.
Get Domain
Add Domain
string
required
Fully-qualified domain name (e.g.
checkout.mybrand.com). Must be globally unique.boolean
required
true for custom domains (requires DNS setup); false for subdomains on the platform’s root domain.cURL — add custom domain
cURL — add platform subdomain
Update Domain
Delete Domain
Get Validation Instructions
Returns the DNS records that must be set to validate a custom domain. Call this after adding a domain to get the CNAME record to configure.cURL
Validate Domain
Queue an asynchronous DNS / Cloudflare validation job for a domain. This endpoint does not return the final validation result synchronously. Workflow:GET validation-instructions → configure DNS → POST validate → poll GET /domains/{id} until status and cname_validated update.
cURL
After calling validate, the domain
status is set to pending-cloudflare while background jobs run. Poll Get Domain or List Domains for cname_validated and status changes — do not expect success / cname_validated in the validate response body.Test Domain Configuration
Run a full connectivity and configuration test for a domain.Request SSL Certificate
Provision or re-provision an SSL certificate for a validated custom domain.cURL
Move Domain (Preview)
Preview what pages and components would be affected by moving all content from one domain to another.number
required
Target domain ID to move content to
Move Domain (Apply)
Execute the domain migration — update all pages and components from one domain to another.number
required
Target domain ID
Tracking Domains
Tracking domains are separate first-party domains used for click tracking and analytics (improves ad attribution). They require Cloudflare integration.List Tracking Domains
Add Tracking Domain
string
required
Fully-qualified tracking domain (e.g.
track.mybrand.com). Must be globally unique.cURL
Delete Tracking Domain
Domain Status Values
Notes
- Custom domains (
dedicated_domain: true) require adding a CNAME record pointing toproxy.elasticfunnels.iobefore they can be validated - Platform subdomains are available instantly with no DNS changes required
- Tracking domains go through Cloudflare provisioning automatically after creation — no manual CNAME setup needed
- The Move endpoints transfer all page/component associations; the old domain remains but has no pages attached