---
title: "Update Dial Agent Settings"
method: PATCH
path: "/api/v1/workspace/dial-agent-settings"
tags: ["workspace"]
---

# Update Dial Agent Settings

`PATCH /api/v1/workspace/dial-agent-settings`

Replace the workspace's dial agent prompt overrides.

Whole-blob replace: clients send the desired state for every field they
want to keep (omit a field → it's removed; explicit `null` → also removed).
The dispatch path treats null/missing identically — both fall through to
the Retell flow node's baked-in default — so we don't preserve the
distinction in storage.

## Request body

- DialAgentSettingsUpdateRequest — Request model for updating per-workspace dial agent prompt overrides. All fields optional; pass `null` to clear an individual override and let the Retell flow node's baked-in default apply. `{{variable_name}}` placeholders are allowed inside each field; the handler validates them against the allowed-variable registry and returns 422 with the offending names when an unknown variable is used.
  - `voicemail_message` string, nullable
  - `intro_line` string, nullable
  - `transfer_pitch` string, nullable

## Response `200`

Successful Response

- WorkspaceResponse — Response model for workspace details.
  - `id` string, uuid, required
  - `name` string, required
  - `avatar_color` string, nullable
  - `created_at` string, date-time, nullable
  - `budget_authority` 'credits' | 'discovery_allowance', required
  - `credit_balance` CreditBalance, required — Credit balance breakdown for a workspace. Uses pool accounting: total is the credits ever granted (never decremented), used is cumulative consumption, remaining = total - used.
    - `total` integer, required
    - `used` integer, required
    - `remaining` integer, required
  - `member_count` integer, required
  - `dial_agent_settings` DialAgentSettings — Per-workspace overrides for placeholders in the Retell agent flow. Each field maps to a `{{placeholder}}` in the Retell flow config. Unset fields are omitted at dispatch so the flow node's baked-in default applies.
    - `voicemail_message` string, nullable
    - `intro_line` string, nullable
    - `transfer_pitch` string, nullable
  - `auto_dial_enabled` boolean
  - `feature_toggles` object
  - `workspace_type` 'standard' | 'discovery', required
  - `discovery_allowance` DiscoveryAllowanceCustomerProjection — Customer-safe allowance state with no internal cost detail.
    - `status` 'available' | 'near_limit' | 'exhausted' | 'unavailable', required
    - `episode_key` string, uuid, nullable
    - `remaining_percent` integer, nullable, required
    - `display_remaining_percent` string, nullable, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/maia-analytics/apis/maia-api.md) · [All operations](https://skmtc.dev/maia-analytics/apis/maia-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/maia-analytics/maia-api/revisions/0c94a4b5a00e/schema)
