Skip to main content
POST
/
webhooks
curl -X POST https://api-dev.qcall.ai/tts/webhooks \
  -H "Authorization: Bearer your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/webhook",
    "events": ["tts.completed", "stt.completed"],
    "secret": "your-webhook-secret"
  }'
{
  "id": "wh-456",
  "url": "https://example.com/webhook",
  "events": ["tts.completed", "stt.completed"],
  "status": "active",
  "created_at": "2026-01-29T11:35:00Z"
}

Request

Headers

Authorization
string
required
Bearer token with your API key
Content-Type
string
required
application/json

Body

url
string
required
Webhook URL (must be HTTPS)
events
array
required
Array of event types to subscribe to
secret
string
Optional secret for webhook signature verification

Available Events

  • tts.completed - Text-to-speech generation completed
  • tts.failed - Text-to-speech generation failed
  • stt.completed - Speech-to-text transcription completed
  • stt.failed - Speech-to-text transcription failed
  • voice.created - Custom voice created
  • voice.ready - Custom voice processing completed
  • voice.failed - Custom voice processing failed

Response

id
string
Webhook ID
url
string
Webhook URL
events
array
Subscribed events
status
string
Webhook status
created_at
string
Creation timestamp
curl -X POST https://api-dev.qcall.ai/tts/webhooks \
  -H "Authorization: Bearer your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/webhook",
    "events": ["tts.completed", "stt.completed"],
    "secret": "your-webhook-secret"
  }'
{
  "id": "wh-456",
  "url": "https://example.com/webhook",
  "events": ["tts.completed", "stt.completed"],
  "status": "active",
  "created_at": "2026-01-29T11:35:00Z"
}

Webhook Payload

When an event occurs, we’ll send a POST request to your webhook URL:
{
  "event": "tts.completed",
  "timestamp": "2026-01-29T11:35:00Z",
  "data": {
    "id": "tts-123",
    "text": "Hello, world!",
    "voice_id": "default-voice",
    "audio_url": "https://cdn.60db.com/audio/tts-123.mp3",
    "duration": 2.5
  }
}