Skip to main content
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)

Returns all domains as a bare JSON array at the root (no 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 to proxy.elasticfunnels.io before 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