Skip to main content

Method

POST /v1/webhooks/subscriptions

Headers

Authorization
string
Bearer token (requires webhooks:write).
content-type
string
application/json

Body Parameters

Request Example

curl -X POST "https://api.voyantcloud.com/v1/webhooks/subscriptions" \
  -H "Authorization: Bearer $VOYANT_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "url": "https://example.com/webhooks/voyant",
    "events": ["product.*", "booking.created"],
    "headers": {"X-Env": "production"},
    "maxRetries": 5,
    "description": "Primary catalog listener"
  }'

Response Example

{
  "data": {
    "subscription": {
      "id": "whsub_01J0J3Y3TFX2V22Y7DQ0A6J5G5",
      "workspace_id": "ws_4a82d5bd-3330-4ad3-bf46-1b6a9a5d5d6a",
      "url": "https://example.com/webhooks/voyant",
      "events": ["product.*", "booking.created"],
      "active": true,
      "max_retries": 5,
      "headers": {"X-Env": "production"},
      "description": "Primary catalog listener",
      "created_at": "2025-03-01T09:12:33.000Z",
      "updated_at": "2025-03-01T09:12:33.000Z",
      "last_delivery_at": null,
      "failure_count": 0
    },
    "secret": "f8c6d3fc4c7103f9a8043f08ff9347bd0f52d23941e874a28ea844e5a27a0ce2"
  }
}
Voyant returns the generated secret only once. Store it immediately and delete it from logs. Subsequent GET requests do not expose the secret.