Skip to main content
POST
/
webhook-endpoints
curl -X POST https://api.bota.dev/v1/webhook-endpoints \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/webhooks/bota",
    "events": ["recording.uploaded", "transcription.completed"],
    "description": "Production webhook"
  }'
{
  "id": "we_abc123",
  "url": "https://example.com/webhooks/bota",
  "events": ["recording.uploaded", "transcription.completed"],
  "description": "Production webhook",
  "secret": "whsec_abc123...",
  "status": "enabled",
  "metadata": null,
  "created_at": "2025-01-15T10:30:00Z"
}
Register a URL to receive webhook notifications for specific event types.
url
string
required
The HTTPS URL to receive webhook events. Must be publicly accessible.
events
array
required
Array of event types to subscribe to. Use ["*"] to receive all events.
description
string
Optional description for the endpoint.
metadata
object
Arbitrary key-value metadata.
curl -X POST https://api.bota.dev/v1/webhook-endpoints \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/webhooks/bota",
    "events": ["recording.uploaded", "transcription.completed"],
    "description": "Production webhook"
  }'
{
  "id": "we_abc123",
  "url": "https://example.com/webhooks/bota",
  "events": ["recording.uploaded", "transcription.completed"],
  "description": "Production webhook",
  "secret": "whsec_abc123...",
  "status": "enabled",
  "metadata": null,
  "created_at": "2025-01-15T10:30:00Z"
}
The secret is only returned when creating the endpoint. Store it securely to verify webhook signatures. If you lose it, you’ll need to rotate the secret.

Available Events

EventDescription
recording.createdA new recording was created
recording.uploadedAudio upload completed
transcription.completedTranscription finished successfully
transcription.failedTranscription failed
summary.completedSummary generation finished
*All events (wildcard)