List custom domains

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Returns every custom domain attached to the app.

The list covers domains at any stage: added but not linked, linked but not yet verified, live, redirecting elsewhere, and disabled. Read last_status_payload.verificationStatus to tell them apart rather than assuming a domain in this list is serving traffic.

Domains bought through Base44 and domains you own elsewhere both appear here. provider_id does not separate them: it is set only for a domain bought through the Wix flow, and null for both an externally owned domain and one bought through the Entri flow.

<Note>A domain is only serving traffic once it is linked and its last_status_payload.verificationStatus is verified. Adding a domain and linking it are separate steps, and DNS propagation happens outside Base44, so a linked domain can sit unverified for as long as its nameservers take.</Note>

<Note>This endpoint accepts a personal API key. Workspace API keys are not authorized for it and are rejected with a 403.</Note>

<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time.</Warning>

get/api/apps/{app_id}/custom-domains

Path parameters

app_idstring required

ID of the app the domain belongs to.

ID of the app the domain belongs to.

Response

The app's custom domains.

idstring required

ID of the domain. Pass it as domain_id to the other domain endpoints.

domainstring required

The domain name, normalized: lower-cased, with any scheme, trailing slash and leading www. removed.

app_idstring required

ID of the app the domain serves.

disabledboolean required

Whether Base44 has stopped serving the domain. A disabled domain keeps its DNS and its row, and serves a placeholder page instead of the app.

last_status_checkstring date-time nullable

When Get custom domain status last ran for this domain, or null if it never has.

redirect_target_domainstring nullable

The domain this one 301-redirects to, or null when it serves the app itself.

provider_idstring nullable

Names the registrar when the domain was bought through Base44's Wix flow. null otherwise, which covers both a domain you own elsewhere and one bought through the Entri flow, so this is not a purchased-versus-external signal.

Example response

[
  {
    "id": "68b1c0d4e7b91d003c45a1f7",
    "domain": "example.com",
    "app_id": "6820f3a4e7b91d003c45a1f2",
    "last_status_check": "2026-08-15T09:10:00Z",
    "last_status_payload": {
      "verificationStatus": "verified"
    },
    "redirect_target_domain": "www.example.com",
    "provider_id": "wix"
  }
]

Changes