Webhook Integration Guide
How to receive notifications for various events through webhooks.
Overview
Jogg provides webhooks to notify your application about asynchronous events in real-time. When an event occurs (like video generation completion), we’ll send an HTTP POST request to your configured endpoint with event details.
API Endpoints
List Webhook Endpoints
Lists all webhook endpoints for the authenticated user.
Please refer to the List of Webhook Endpoints for more details.
Response
Add Webhook Endpoint
Create a new webhook endpoint configuration. The system will automatically generate a 16-character secret key for signature verification.
Please refer to the Add a Webhook Endpoint for more details.
Response
Update Webhook Endpoint
Update an existing webhook endpoint configuration. Note that the secret key cannot be modified.
Please refer to the Update a Webhook Endpoint for more details.
Delete Webhook Endpoint
Delete an existing webhook endpoint.
Please refer to the Delete a Webhook Endpoint for more details.
List Available Events
Get a list of available webhook events.
Please refer to the List of Available Webhook Events for more details.
Response
Event Types
Video Generation Success
Triggered when video generation completes successfully.
Payload
Video Generation Failed
Triggered when video generation fails.
Payload
Security Implementation
Secret and Signature Verification
When creating a webhook endpoint, the system automatically generates a 16-character secret key. This secret is used to sign webhook payloads, allowing you to verify that requests are coming from Jogg.
-
All webhook URLs must use HTTPS
-
Each webhook request is signed using HMAC SHA-256 with your secret key
-
The signature is included in the
X-Webhook-Signature
header -
The signature is computed on the raw request body
Example Request Headers
Signature Verification Examples
Go
Python
Node.js
Best Practices
Security
-
Keep your webhook secret secure and never expose it
-
Always verify signatures before processing webhooks
-
Use HTTPS endpoints only
-
Implement request timeout (recommended: 10s)
-
Use constant-time string comparison for signature verification
-
Store webhook logs for security auditing
Implementation
-
Process webhooks asynchronously
-
Return 2xx status quickly, process later
-
Implement idempotency using event_id
-
Store webhook logs for debugging
-
Monitor webhook delivery status
Error Handling
Retry Mechanism
-
Non-2xx responses trigger retries
-
Maximum 3 retry attempts
-
5 second delay between retries
-
Only 2xx responses are considered successful
Monitoring
-
Monitor webhook logs for delivery issues
-
Track retry counts and failure rates
-
Set up alerts for repeated failures
-
Consider implementing a manual retry mechanism