Skip to content

Webhooks

Coming Soon

Webhook support is planned for a future release. Currently, use polling via the GET /status/{aws_batch_job_id} endpoint to check job completion.

Current Approach: Polling

Until webhooks are available, poll the status endpoint to check if your transcription job has completed:

# Poll every 10 seconds until status is COMPLETE or FAILED
while true; do
  RESPONSE=$(curl -s https://api.icana.ai/status/your-job-id \
    -H "X-API-Key: your-api-key")

  STATUS=$(echo $RESPONSE | python3 -c "import sys,json; print(json.load(sys.stdin)['status'])")

  echo "Status: $STATUS"

  if [ "$STATUS" = "COMPLETE" ] || [ "$STATUS" = "FAILED" ]; then
    echo "$RESPONSE"
    break
  fi

  sleep 10
done

Planned Webhook Features

When released, webhooks will allow you to:

  • Receive a POST callback when a transcription job completes or fails
  • Configure a default webhook URL in your account settings
  • Set per-request webhook URLs when submitting transcription jobs
  • Verify webhook signatures for security