ioZen Docs
POST
/webhooks

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

Formaturi
events*array<>

Event types to subscribe to (e.g. submission.completed)

Items1 <= items
description?string

Human-readable description for this endpoint

Lengthlength <= 500

Response 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": {}
  }
}