Skip to main content

Overview

Webhooks allow you to receive real-time notifications when your video processing completes, instead of polling the API repeatedly.
Recommended: Always use webhooks for production applications. Polling is inefficient and can hit rate limits.

How Webhooks Work

1

Provide Webhook URL

When creating a video, include your webhook URL
2

Video Processing

SlideVid processes your video (typically 2-5 minutes)
3

Receive Notification

When complete, SlideVid sends a POST request to your webhook URL with video details
4

Return 200 OK

Your endpoint must return a 200 status code to confirm receipt

Webhook Payload

When your video is ready, you’ll receive this payload:

Payload Fields

string
Event type: project.completed or project.failed
string
The project/video ID
string
Status: completed or failed
object
Video details (only present if status is completed)
object
Custom data you provided when creating the video. Use this to correlate webhook responses with your internal systems (e.g., course IDs, user IDs, order numbers). Only present if you included metadata in the original request.
string
Error message (only present if status is failed)

Implementing a Webhook Endpoint

Node.js (Express)

Python (FastAPI)

Next.js API Route

Webhook Security

Verify Webhook Source

Always verify webhooks are coming from SlideVid. Check the request origin and consider implementing HMAC signature verification.

Use HTTPS

Always use HTTPS for your webhook endpoints to ensure data is encrypted in transit.

Secret Tokens

Include a secret token in your webhook URL for additional security:

Retry Logic

If your endpoint doesn’t return a 200 status code, SlideVid will retry:
  • 1st retry: After 1 minute
  • 2nd retry: After 5 minutes
  • 3rd retry: After 15 minutes
After 3 failed attempts, no more retries will be made.

Best Practices for Retries

Testing Webhooks

Local Development with ngrok

Webhook Testing Sites

webhook.site

Get a temporary webhook URL for testinghttps://webhook.site

requestbin.com

Inspect webhook payloadshttps://requestbin.com

Test Webhook Endpoint

Common Issues

Possible causes:
  • Webhook URL not publicly accessible
  • Firewall blocking SlideVid’s IP addresses
  • Endpoint returning non-200 status code
Solution: Test with webhook.site first, then gradually move to your endpoint
Possible causes:
  • Your endpoint took too long to respond
  • Endpoint returned non-200, triggering retry
Solution: Implement idempotency using projectId
Problem: Your endpoint is slow, causing timeoutsSolution: Return 200 immediately, process asynchronously

Webhook Events

Currently supported events:

Next Steps

Error Handling

Learn how to handle errors gracefully

Complete Workflow

See webhooks in action