---
title: "Get Self-Hosted configuration"
method: GET
path: "/api/v1/self-hosted"
tags: ["selfHosted"]
---

# Get Self-Hosted configuration

`GET /api/v1/self-hosted`

Returns the account's Self-Hosted configuration. The signing secret is never returned here — only a masked preview (`secretMasked`). Use `GET /api/v1/self-hosted/secret` to copy the full value.

## Headers

- `Authorization` string, required

## Response `200`

The Self-Hosted configuration.

- SelfHostedConfig — The account's Self-Hosted configuration. Each mode owns an **independent** config (`llm` and `audio`), both readable at once; `activeMode` is which one drives calls when `enabled`.
  - `enabled` boolean, required — Whether Self-Hosted mode is currently driving the account's calls.
  - `activeMode` 'llm' | 'audio', required — Which mode drives calls when `enabled`: `"llm"` (Dial runs voice; your server drives the conversation in text) or `"audio"` (Dial pipes the raw call audio to your server, full duplex).
  - `llm` SelfHostedLlmConfig — The LLM variant — Dial handles telephony, speech-to-text, and text-to-speech; your server answers with the agent's text turns over the Self-hosted LLM protocol.
    - `type` 'llm', required
    - `wsUrl` string, uri, required — The `wss://` URL of the server Dial connects to for each call.
    - `urlKey` string, required — The unguessable per-account path segment Dial uses when connecting. Stable once the URL is first set.
    - `secretMasked` string, required — A masked preview of the signing secret (`shs_••••••••<last4>`). Copy the full value from `GET /api/v1/self-hosted/secret?mode=llm`.
  - `audio` SelfHostedAudioConfig — The audio variant — Dial pipes the raw call audio to your server, full duplex, over the Self-hosted audio protocol. Your server brings the entire voice stack.
    - `type` 'audio', required
    - `wsUrl` string, uri, required — The `wss://` URL of the server Dial connects to for each call.
    - `secretMasked` string, required — A masked preview of the signing secret (`shs_••••••••<last4>`). Copy the full value from `GET /api/v1/self-hosted/secret?mode=audio`.
    - `audioInboundFormat` 'mulaw_8000' | 'alaw_8000' | 'l16_8000' | 'l16_16000' | 'l16_24000', required — An audio-pipe format: G.711 μ-law/A-law at 8 kHz, or 16-bit little-endian linear PCM at 8/16/24 kHz. Defaults to `mulaw_8000`.
    - `audioOutboundFormat` 'mulaw_8000' | 'alaw_8000' | 'l16_8000' | 'l16_16000' | 'l16_24000', required — An audio-pipe format: G.711 μ-law/A-law at 8 kHz, or 16-bit little-endian linear PCM at 8/16/24 kHz. Defaults to `mulaw_8000`.

## Other responses

- `401` — Missing or invalid API key.

---

[API](https://skmtc.net/getdial/apis/rest-api.md) · [All operations](https://skmtc.net/getdial/apis/rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getdial/rest-api/revisions/5f4eb30ac29a/schema)
