> ## Documentation Index
> Fetch the complete documentation index at: https://docs.conduit.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Custom portal domains

> Serve guest portal links from your own hostname.

Custom domains are available through REST and MCP to API tokens, OAuth connections and the Operator. Chat and voice agents can't use them.

| Operation | REST | MCP | Permission |
| - | - | - | - |
| List domains | `GET /v1/workspaces/{workspace_id}/portal-domains` | `list_portal_domains` | `Access Portals` |
| Connect a domain | `POST /v1/workspaces/{workspace_id}/portal-domains` | `create_portal_domain` | `Manage Portals` |
| Update a domain | `PATCH /v1/workspaces/{workspace_id}/portal-domains/{domain_id}` | `update_portal_domain` | `Manage Portals` |
| Check a domain again | `POST /v1/workspaces/{workspace_id}/portal-domains/{domain_id}/refresh` | `refresh_portal_domain` | `Manage Portals` |
| Disconnect a domain | `DELETE /v1/workspaces/{workspace_id}/portal-domains/{domain_id}` | `delete_portal_domain` | `Manage Portals` |

Every method also requires Portals access for the workspace.

## Connect a domain

1. Call [Connect a domain](https://docs.conduit.ai/api-reference/portals/domains/create.md) with a hostname you own, such as `stay.example.com`. Leave out the scheme and path.
2. Setup runs in the background. Read [List domains](https://docs.conduit.ai/api-reference/portals/domains/list.md) for the `dns_record` and `verification_records` to add at your DNS provider.
3. After adding the records, call [Check a domain again](https://docs.conduit.ai/api-reference/portals/domains/refresh.md). The domain's `status` stays `pending` until setup finishes, then becomes `active`.

`template_ids` chooses which portal templates use the hostname. An empty list makes it the default hostname for templates without their own.

## Confirmation-code links

Set `confirmation_code_links` to `true` to put the booking confirmation code in portal links on the hostname. Turning it off breaks links that already use a confirmation code.

## Disconnect a domain

Disconnecting stops portal links on the hostname right away. New links use another connected hostname or the standard portal address. Removal finishes in the background, after which the domain leaves the list.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.