---
title: "Validate a custom domain configuration"
method: POST
path: "/workspace/{workspaceId}/custom-domain/validate"
tags: ["Workspace"]
---

# Validate a custom domain configuration

`POST /workspace/{workspaceId}/custom-domain/validate`

## Request

- Base URL: `https://api.savanto.ai`
- URL: `https://api.savanto.ai/workspace/{workspaceId}/custom-domain/validate`
- Auth: HTTP bearer

## Path parameters

- `workspaceId` string, required

## Request body

- object
  - `name` string
  - `classifierPrompt` string
  - `agentPrompt` string
  - `mcpServers` object[]
    - `name` string, required
    - `url` string, uri, required
    - `requiresAuth` boolean, required
    - `staticAuth` object
      - `type` 'bearer' | 'header' | 'basic', required
      - `headerName` string
      - `value` string, required
  - `apiEndpoints` object[]
    - `name` string, required
    - `baseUrl` string, uri, required
    - `responseFormat` 'json' | 'xml', required
    - `auth` object
      - `type` 'bearer' | 'header' | 'basic' | 'query', required
      - `headerName` string
      - `queryParamName` string
      - `value` string, required
    - `requiresAuth` boolean
    - `endpoints` object[], required
      - `toolName` string, required
      - `description` string, required
      - `method` 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH', required
      - `path` string, required
      - `parameters` object[], required
        - `name` string, required
        - `in` 'query' | 'path' | 'body', required
        - `required` boolean, required
        - `description` string, required
        - `type` 'string' | 'number' | 'boolean', required
        - `defaultValue` string
      - `requestTimeoutMs` integer
      - `dropPaths` string[]
  - `progressMessage` string
  - `enabled` boolean
  - `toolStrategy` 'required' | 'auto'
  - `maxToolTurns` integer
  - `exclusive` boolean
  - `composerRenderHint` 'card' | 'inline' | 'prose-only' | 'gallery'
  - `composerVerbosity` 'terse' | 'standard' | 'detailed'
  - `composerPrivacy` 'public' | 'sensitive'
  - `digestTemplate` string
  - `composerStreamingFields` string[]
  - `toolProgressMessages` object
  - `id` string
  - `skipLlmValidation` boolean

## Response `200`

Validation result

- object
  - `object` 'event', required
  - `requestId` string, required
  - `data` object, required

## Other responses

- `400`: Validation error
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `409`: Conflict
- `413`: Payload too large
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/savanto/apis/savanto-api.md) · [All operations](https://skmtc.dev/savanto/apis/savanto-api/llms.txt) · [OpenAPI document](https://skmtc.dev/savanto/apis/savanto-api/revisions/82437327a878?raw)
