HydraCore
API by router

Voice channel

Voice Status

GET
/v1/instances/{instance_id}/channels/voice

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Path Parameters

instance_id*Instance Id
Formatuuid

Header Parameters

X-Api-Key?string|null

Response Body

Successful Response

application/json
  1. response
active_calls?Active Calls
Default0
enabled*Enabled
phone_number?string|null
provider?string|null
status*Status
webhook_url*Webhook Url
Example Request
curl -X GET 'https://example.com/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/channels/voice'
Example Response
{  "active_calls": 0,  "enabled": true,  "phone_number": "string",  "provider": "string",  "status": "string",  "webhook_url": "string"}

Setup Voice

POST
/v1/instances/{instance_id}/channels/voice

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Path Parameters

instance_id*Instance Id
Formatuuid

Header Parameters

X-Api-Key?string|null

Request Body

application/json
  1. body
agent_id?|

Retell agent/assistant ID

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 for TTS

deepgram_api_key?|

Deepgram API key for STT

elevenlabs_api_key?|

ElevenLabs API key for TTS

google_api_key?|

Google API key for LLM/STT/TTS

openai_api_key?|

OpenAI API key for LLM/TTS/STT

phone_number?|

Phone number for inbound calls

provider?Provider

Voice provider slug (retell, pipecat)

Default"retell"
twilio_account_sid?|

Twilio Account SID

twilio_auth_token?|

Twilio Auth Token

twilio_phone_number?|

Twilio phone number (E.164)

webhook_secret?|

Provider webhook signing secret

Response Body

Successful Response

application/json
  1. response
active_calls?Active Calls
Default0
enabled*Enabled
phone_number?string|null
provider?string|null
status*Status
webhook_url*Webhook Url
Example Request
curl -X POST 'https://example.com/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/channels/voice' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "active_calls": 0,  "enabled": true,  "phone_number": "string",  "provider": "string",  "status": "string",  "webhook_url": "string"}

Teardown Voice

DELETE
/v1/instances/{instance_id}/channels/voice

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Path Parameters

instance_id*Instance Id
Formatuuid

Header Parameters

X-Api-Key?string|null

Response Body

Successful Response

Example Request
curl -X DELETE 'https://example.com/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/channels/voice'
Example Response
Empty

List Active Calls

GET
/v1/instances/{instance_id}/channels/voice/calls

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Path Parameters

instance_id*Instance Id
Formatuuid

Header Parameters

X-Api-Key?string|null

Response Body

Successful Response

application/json
  1. response
[index: integer]?
Example Request
curl -X GET 'https://example.com/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/channels/voice/calls'
Example Response
[  {    "call_id": "string",    "caller_phone": "string",    "duration_seconds": 0,    "state": "string",    "transcript_turns": 0  }]