Overview
When you submit a request withbatch=True and provide a callback_url, VLM Run will:
- Process your request asynchronously
 - Generate the results
 - Send an HTTP POST request to your callback URL with the complete response
 - Include an HMAC signature for verification (if you’ve configured a webhook secret)
 
Setting Up Webhooks
1. Configure Your Webhook Secret
To ensure webhook requests are authentic, you should configure a webhook secret in your account settings. This secret is used to generate HMAC signatures that you can verify on your server. Setting your webhook secret:- Log in to your VLM Run Dashboard
 - Navigate to Settings → API Keys
 - Set your webhook secret (keep this secure and never share it)
 
2. Create a Webhook Endpoint
Create an endpoint on your server to receive webhook notifications. The endpoint should:- Accept POST requests
 - Verify the HMAC signature (recommended)
 - Process the webhook payload
 - Return a 2xx status code to acknowledge receipt
 
3. Submit Requests with Callback URL
When making API requests, include thecallback_url parameter:
Verifying Webhook Signatures
VLM Run signs all webhook requests with an HMAC signature using your webhook secret. The signature is included in theX-VLMRun-Signature header.
Important: Always verify webhook signatures to ensure requests are authentic and haven’t been tampered with.
Using the SDK (Recommended)
The VLM Run SDKs provide built-in webhook verification utilities that handle signature validation securely.express.raw({ type: 'application/json' }) middleware on your webhook route to ensure the body is available as a Buffer.
Manual Verification (Alternative)
If you prefer not to use the SDK, you can implement signature verification manually:Webhook Delivery
Retry Logic
VLM Run automatically retries failed webhook deliveries with exponential backoff:- Maximum retries: 2 attempts
 - Timeout: 30 seconds per request
 - Backoff: Exponential (1s, 2s, 4s, etc.)
 
- The endpoint returns a non-2xx status code
 - The request times out after 30 seconds
 - A network connection error occurs