Dashboard Management
Webhooks are managed through the inference.net dashboard:- Navigate to Webhooks on the sidebar
- Create, test, archive, or restore webhooks through the UI
- Copy your webhook identifier for use in generation requests
Payload Structures
generation.completed
async-embedding.completed
slow-group.completed
Headers
Header | Description | Example |
---|---|---|
X-Inference-Event | Event type | generation.completed , async-embedding.completed , or slow-group.completed |
X-Inference-Webhook-ID | Webhook identifier | AhALzdz8S |
X-Inference-Generation-ID | Generation ID (if applicable) | XBKcs7F1s2oJ_AHiLMbF4 |
X-Inference-Group-ID | Group ID (for group events) | GRP_XYZ123 |
User-Agent | inference.net webhook agent | Kuzco-Webhook/1.0 |
Content-Type | Always application/json | application/json |
Using Webhooks in Generations
Include the webhook identifier in your generation request metadata:Chat Completions
Embeddings
Minimal Webhook Handler Examples
Node.js/Express
Python/FastAPI
Go
Timing & Limits
Metric | Value | Notes |
---|---|---|
Response timeout | 30 seconds | Must respond within this time |
Retry attempts | 3 | With exponential backoff |
Max payload size | 10MB | Typical: 5-50KB |
Delivery time | Under 60 seconds | From completion to webhook |
Response Codes
Code | Meaning | Retry? |
---|---|---|
200-299 | Success | No |
400-499 | Client error | No |
500-599 | Server error | Yes |
Timeout | No response in 30s | Yes |
Best Practices Checklist
- Respond with 200 OK immediately
- Process webhook data asynchronously
- Implement idempotency with generation_id or group_id
- Validate webhook source via headers
- Handle errors gracefully
- Monitor webhook processing
- Use HTTPS endpoint
- Set up proper error logging
- Test webhook with dashboard test feature
- Implement timeout handling
- Handle both individual and group completions
Common Issues & Solutions
Issue | Solution |
---|---|
Not receiving webhooks | Check webhook not disabled in dashboard, test connectivity, verify HTTPS URL |
Duplicate webhooks | Implement idempotency, ensure 200 OK response |
Webhooks timing out | Respond immediately, process asynchronously |
Invalid payload | Validate against documented schema |
Test webhook fails | Check endpoint is publicly accessible, returns 200 OK |
Support Resources
- Full Documentation
- API Reference
- Support
- Discord Community