HydraCore
API by router

Voice webhook

Voice Webhook Inbound

Receive voice call events from the provider.

Events: call_started, call_ended, call_analyzed, transcript_update. Flow:

  1. Resolve instance → tenant_id, set RLS context
  2. Verify webhook signature
  3. Look up channel endpoint for this instance
  4. Parse event using the registered provider adapter
  5. Handle event (track call, create workflow record on end, etc.)
POST
/hooks/voice/{instance_id}

Path Parameters

instance_idInstance Id
Formatuuid

Response Body

curl -X POST "https://loading/hooks/voice/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Voice Twiml Inbound

Return TwiML for Pipecat-based voice — connects Twilio to voice agent WS.

Twilio calls this URL when a call arrives on the configured phone number. We return TwiML that streams the call audio to the voice agent WebSocket running on the VPS.

POST
/hooks/voice/{instance_id}/twiml

Path Parameters

instance_idInstance Id
Formatuuid

Response Body

curl -X POST "https://loading/hooks/voice/497f6eca-6276-4993-bfeb-53cbbbba6f08/twiml"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}