π Webhook Callback for Batch Jobs
You can configure a webhook to be notified when a batch transcription job has successfully completed. This allows you to retrieve results as soon as theyβre ready β without polling the API.
Note: Webhooks only trigger on successful transcription jobs. If a job fails (e.g. due to audio quality, unsupported format, etc.), no webhook will be sent.
βοΈ Setup & Requirementsβ
To use webhook notifications, you must configure a valid HTTPS callback URL when initializing a batch session.
β Callback URL Requirementsβ
Your webhook endpoint must:
- Use
HTTPS
- Be externally reachable (no
localhost
, internal domains, or IP addresses) - Respond with a 2XX status code within 20 seconds
- Be consistently online (webhooks are not cached or queued indefinitely)
π¦ Callback Payloadβ
Once a transcription completes, the Scriptix API will POST the following payload to your webhook URL:
Headersβ
Header | Value | Description |
---|---|---|
Content-Type | application/json | Payload is sent as JSON |
X-Scriptix-Session | session_id | Scriptix session ID |
X-Zoom-Session | session_id | (Deprecated) Same value for legacy use |
Body (JSON)β
{
"sessionId": "your-session-id",
"zoom_id": "your-session-id"
}
β Both sessionId and zoom_id are currently the same. Future versions may remove zoom_id.
π Retry Logicβ
If the webhook fails (e.g., timeout or non-2XX response), Scriptix will automatically retry delivery with increasing delays:
Attempt | Delay After Previous | Total Time Elapsed |
---|---|---|
1st | Immediate | 0 min |
2nd | +1 minute | 1 min |
3rd | +2 minutes | 3 min |
4th | +5 minutes | 8 min |
5th | +15 minutes | 23 min |
6th | +30 minutes | 53 min |
After the final retry fails, the callback is abandoned and no further attempts are made.
π Authenticationβ
You can configure custom headers when setting up your webhook (e.g. API keys or tokens). Scriptix will include those headers in the request.
β οΈ The system headers (
X-Scriptix-Session
,Content-Type
, etc.) cannot be overridden.
π₯ Retrieving Transcription Resultsβ
Webhook notifications do not contain transcription results. After receiving the callback:
- Use the
sessionId
from the payload - Make a
GET
request to the results endpoint
Example (cURL)β
curl -H "Authorization: YOUR_TOKEN" \
https://api.scriptix.io/api/v2/batch/session/YOUR_SESSION_ID/results
Example (Python)
import requests
url = "https://api.scriptix.io/api/v2/batch/session/YOUR_SESSION_ID/results"
headers = {"Authorization": "YOUR_TOKEN"}
response = requests.get(url, headers=headers)
print(response.json())
π Webhook Summary
- Configure webhook URL during session initialization
- Ensure your server meets HTTPS and timing requirements
- Webhooks only fire for successful jobs
- Results must be fetched manually via the session ID
- Automatic retries follow a backoff pattern up to 6 times
- Log all webhook requests for auditing and troubleshooting
- Use unique session IDs to track jobs
- Respond quickly with
200 OK
to avoid unnecessary retries