HydraCore
API by router

Voice channel

Voice Status

Get voice channel status + active call count.

GET
/v1/instances/{instance_id}/channels/voice
AuthorizationBearer <token>

In: header

Path Parameters

instance_idInstance Id
Formatuuid

Header Parameters

X-Api-Key?X-Api-Key

Response Body

curl -X GET "https://loading/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/channels/voice" \  -H "X-Api-Key: string"
{
  "active_calls": 0,
  "enabled": true,
  "phone_number": "string",
  "provider": "string",
  "status": "string",
  "webhook_url": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Setup Voice

Configure voice channel for an instance.

POST
/v1/instances/{instance_id}/channels/voice
AuthorizationBearer <token>

In: header

Path Parameters

instance_idInstance Id
Formatuuid

Header Parameters

X-Api-Key?X-Api-Key
agent_id?Agent Id

Retell agent/assistant ID

anthropic_api_key?Anthropic Api Key

Anthropic API key for LLM

api_key?Api Key

Provider API key (Retell) — stored encrypted

Default""
cartesia_api_key?Cartesia Api Key

Cartesia API key for TTS

deepgram_api_key?Deepgram Api Key

Deepgram API key for STT

elevenlabs_api_key?Elevenlabs Api Key

ElevenLabs API key for TTS

google_api_key?Google Api Key

Google API key for LLM/STT/TTS

openai_api_key?Openai Api Key

OpenAI API key for LLM/TTS/STT

phone_number?Phone Number

Phone number for inbound calls

provider?Provider

Voice provider slug (retell, pipecat)

Default"retell"
twilio_account_sid?Twilio Account Sid

Twilio Account SID

twilio_auth_token?Twilio Auth Token

Twilio Auth Token

twilio_phone_number?Twilio Phone Number

Twilio phone number (E.164)

webhook_secret?Webhook Secret

Provider webhook signing secret

Response Body

curl -X POST "https://loading/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/channels/voice" \  -H "X-Api-Key: string" \  -H "Content-Type: application/json" \  -d '{}'
{
  "active_calls": 0,
  "enabled": true,
  "phone_number": "string",
  "provider": "string",
  "status": "string",
  "webhook_url": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Teardown Voice

Remove voice channel + credentials.

DELETE
/v1/instances/{instance_id}/channels/voice
AuthorizationBearer <token>

In: header

Path Parameters

instance_idInstance Id
Formatuuid

Header Parameters

X-Api-Key?X-Api-Key

Response Body

curl -X DELETE "https://loading/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/channels/voice" \  -H "X-Api-Key: string"
Empty
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

List Active Calls

List active calls for this instance.

GET
/v1/instances/{instance_id}/channels/voice/calls
AuthorizationBearer <token>

In: header

Path Parameters

instance_idInstance Id
Formatuuid

Header Parameters

X-Api-Key?X-Api-Key

Response Body

curl -X GET "https://loading/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/channels/voice/calls" \  -H "X-Api-Key: string"
[
  {
    "call_id": "string",
    "caller_phone": "string",
    "duration_seconds": 0,
    "state": "string",
    "transcript_turns": 0
  }
]
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}