API ReferenceWebhooks
Authorization
bearerAuth AuthorizationBearer <token>
API key authentication. Pass your ioZen API key as a Bearer token in the Authorization header.
In: header
Request Body
application/json
Webhook endpoint URL, subscribed events, and optional description
url*string
HTTPS URL to receive webhook payloads
Format
urievents*array<>
Event types to subscribe to (e.g. submission.completed)
Items
1 <= itemsdescription?string
Human-readable description for this endpoint
Length
length <= 500Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
Subscribe to all submission lifecycle events.
curl -X POST "https://app.iozen.ai/api/v1/webhooks" \ -H "Content-Type: application/json" \ -d '{ "url": "https://api.example.com/webhooks/iozen", "events": [ "submission.completed", "submission.updated" ], "description": "Production submission handler" }'{
"success": true,
"data": {
"webhook": {
"id": "string",
"url": "string",
"events": [
"string"
],
"status": "string",
"description": "string",
"last_delivery_at": "string",
"last_delivery_ok": true,
"consecutive_fails": 0,
"created_at": "string",
"updated_at": "string",
"secret": "string"
}
}
}{
"success": false,
"error": {
"code": "validation_failed",
"message": "Validation failed",
"details": {}
}
}{
"success": false,
"error": {
"code": "authentication_required",
"message": "Missing or invalid API key",
"details": {}
}
}{
"success": false,
"error": {
"code": "insufficient_scopes",
"message": "API key lacks required scopes for this endpoint",
"details": {}
}
}{
"success": false,
"error": {
"code": "resource_not_found",
"message": "Resource not found",
"details": {}
}
}{
"success": false,
"error": {
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded",
"details": {}
}
}{
"success": false,
"error": {
"code": "internal_error",
"message": "An internal error occurred",
"details": {}
}
}