---
title: "Get custom domain status"
method: POST
path: "/api/apps/{app_id}/custom-domains/{domain_id}/status"
---

# Get custom domain status

`POST /api/apps/{app_id}/custom-domains/{domain_id}/status`

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

Asks the hosting provider whether the domain's DNS is verified, and returns the domain with the answer written into it.

This is the endpoint to poll while waiting for a domain to go live. It reaches the provider on every call, unlike [Get custom domain](/api-reference/get-custom-domain), which returns Base44's stored copy. It also writes what it learns, so `last_status_check` and `last_status_payload` on the domain are updated as a side effect.

Only call this for a domain that's currently linked. A domain that was never linked, or was unlinked, isn't attached at the provider, and asking about it fails rather than reporting "not verified".

<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>

## Path parameters

- `app_id` string, required — ID of the app the domain belongs to.
- `domain_id` string, required — ID of the custom domain. Get this from [List custom domains](/api-reference/list-custom-domains).

## Response `200`

The domain, with the provider's answer written into its status fields.

- CustomDomainResource — A custom domain attached to an app.
  - `id` string, required — ID of the domain. Pass it as `domain_id` to the other domain endpoints.
  - `domain` string, required — The domain name, normalized to lower case with any scheme, trailing slash and leading `www.` removed.
  - `app_id` string, required — ID of the app the domain serves.
  - `disabled` boolean, required — Whether Base44 has stopped serving the domain. A disabled domain stays attached to the app and keeps its DNS, and serves a placeholder page instead of the app.
  - `last_status_check` string, date-time, nullable — When [Get custom domain status](/api-reference/get-custom-domain-status) last ran for this domain, as a UTC timestamp in ISO 8601 format, or `null` if it never has.
  - `last_status_payload` CustomDomainStatusPayload — What the hosting provider last reported about the domain.
    - `verificationStatus` string, nullable — Whether the provider has verified the domain's DNS. Only `verified` means the domain serves the app, and anything else means it doesn't yet. Absent until [Get custom domain status](/api-reference/get-custom-domain-status) has run once.
  - `redirect_target_domain` string, nullable — The domain that visitors to this one are sent to with a 301 redirect. The value is `null` when this domain serves the app itself.
  - `provider_id` string, nullable — Names the registrar when the domain was bought through Base44's Wix flow. The value is `null` otherwise, which covers both a domain you own elsewhere and one bought through the Entri flow, so this isn't a purchased-versus-external signal.

## Other responses

- `401` — Missing or invalid credentials.
- `403` — You don't have access to this app, or you used a workspace API key. These endpoints take a personal API key.
- `404` — The app has no custom domain with this ID, or the app doesn't exist.

---

[API](https://skmtc.dev/base44/apis/base44-app-management-api.md) · [All operations](https://skmtc.dev/base44/apis/base44-app-management-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/base44/base44-app-management-api/revisions/173e4e9c63c2/schema)
