Custom Domains
Create, configure, and manage custom domain packs via the Dashboard API.
Custom domain packs let you define your own AI domains with custom intents, prompt templates, and knowledge sources. All custom domain management is done through the /dashboard/custom-domains endpoints.
For a guided walkthrough see Custom Domain Walkthrough.
GET /dashboard/custom-domains
List all custom domain packs for your tenant.
Response:
POST /dashboard/custom-domains
Create a new custom domain pack.
Request body:
| Field | Type | Required | Description |
|---|---|---|---|
domainKey | string | Yes | Unique identifier used in API calls — lowercase letters, numbers, underscores only |
displayName | string | Yes | Human-readable name shown in the dashboard |
description | string | No | Short description of the domain's purpose |
systemPrompt | string | Yes | Base system prompt applied to all intents in this domain |
domainKey rules:
- Lowercase letters, numbers, and underscores only
- Must be unique within your tenant
- Cannot conflict with built-in domain names (
hiring,fintech,healthcare,ehs) - Cannot be changed after creation
Response:
PATCH /dashboard/custom-domains/:domainKey
Update a custom domain's display name, description, or system prompt.
DELETE /dashboard/custom-domains/:domainKey
Permanently deletes a custom domain pack, all its intents, and any associated knowledge sources. This is irreversible.
Intents
GET /dashboard/custom-domains/:domainKey/intents
Response:
POST /dashboard/custom-domains/:domainKey/intents
| Field | Type | Required | Description |
|---|---|---|---|
intentKey | string | Yes | Lowercase, underscores — used in API path |
displayName | string | Yes | Human-readable name |
promptTemplate | string | Yes | Prompt with {{variable}} placeholders for input fields |
outputSchema | object | No | Describes expected output structure — used for documentation only |
Variables in promptTemplate (e.g. {{contract_text}}) become required input fields when calling the intent via the v1 API.
Calling a custom domain intent
Once created, custom intents are called exactly like built-in intents:
See Defining Intents for full details on prompt templates and variable mapping.