Voice Agents

Undeploy a voice agent

Removes the hosted worker and deactivates phone routing. The agent returns to draft and stays editable and testable. Telephony is torn down as part of this. Accepted only when the agent is deployed or failed; undeploying an agent that is already back to draft is rejected with 400.

POST
/v1/agents/voice/agents/{agent_id}/undeploy

Authorization

personalAccessToken
AuthorizationBearer <token>

Personal Access Token of a Dynamiq user — the only credential accepted by the management API (api.*). Prefix dyn_pat_ (legacy uak_ tokens still authenticate). Send as Authorization: Bearer <token>.

In: header

Path Parameters

agent_id*string

Voice agent UUID.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/agents/voice/agents/497f6eca-6276-4993-bfeb-53cbbbba6f08/undeploy"
{
  "data": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "description": "string",
    "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
    "status": "draft",
    "config": {
      "name": "Voice Agent",
      "instructions": "string",
      "welcome_message": "string",
      "mode": "pipeline",
      "stt": {
        "provider": "string",
        "model": "string",
        "connection_id": "d3547de1-d1f2-4344-b4c2-17169b7526f9",
        "language": "string",
        "voice": "string",
        "base_url": "string",
        "temperature": 0,
        "options": {}
      },
      "llm": {
        "provider": "string",
        "model": "string",
        "connection_id": "d3547de1-d1f2-4344-b4c2-17169b7526f9",
        "language": "string",
        "voice": "string",
        "base_url": "string",
        "temperature": 0,
        "options": {}
      },
      "tts": {
        "provider": "string",
        "model": "string",
        "connection_id": "d3547de1-d1f2-4344-b4c2-17169b7526f9",
        "language": "string",
        "voice": "string",
        "base_url": "string",
        "temperature": 0,
        "options": {}
      },
      "realtime": {
        "provider": "string",
        "model": "string",
        "connection_id": "d3547de1-d1f2-4344-b4c2-17169b7526f9",
        "language": "string",
        "voice": "string",
        "base_url": "string",
        "temperature": 0,
        "options": {}
      },
      "tools": [
        {
          "name": "string",
          "description": "string",
          "method": "GET",
          "url": "string",
          "headers": [
            {
              "key": "string",
              "value": "string"
            }
          ],
          "params": [
            {
              "name": "string",
              "type": "string",
              "in": "path",
              "description": "string",
              "required": true
            }
          ],
          "long_running": false,
          "timeout_s": 10
        }
      ],
      "client_tools": [
        {
          "name": "string",
          "description": "string",
          "params": [
            {
              "name": "string",
              "type": "string",
              "description": "string",
              "required": true
            }
          ],
          "expects_response": true,
          "long_running": false,
          "timeout_s": 10
        }
      ],
      "mcp_servers": [
        {
          "name": "string",
          "url": "string",
          "connection_id": "d3547de1-d1f2-4344-b4c2-17169b7526f9",
          "headers": [
            {
              "key": "string",
              "value": "string"
            }
          ],
          "allowed_tools": [
            "string"
          ],
          "long_running": false
        }
      ],
      "transfer": {
        "enabled": false,
        "phone_number": "string",
        "destinations": [
          {
            "label": "string",
            "phone_number": "string"
          }
        ]
      },
      "end_call_enabled": true,
      "recording_enabled": true,
      "advanced": {
        "max_call_duration_s": 1800,
        "idle_timeout_s": 75,
        "max_tool_steps": 6,
        "eos_silence_ms": 400,
        "turn_sensitivity": "auto",
        "preemptive_tts": true,
        "noise_cancellation": "auto",
        "allow_interruptions": true,
        "background_sound": "none"
      }
    },
    "agent_name": "string",
    "deploy_error": "string",
    "deployed_at": "2019-08-24T14:15:22Z",
    "phone_numbers": [
      "string"
    ],
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z",
    "deleted_at": "2019-08-24T14:15:22Z"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "Unauthorized"
  }
}
{
  "error": {
    "code": "not_found",
    "message": "Not Found"
  }
}