GET
/hyax-api/v1/webhooks/schemaGet webhook schema
Everything needed to write a receiver: every event name, the delivery contract (signature header, timeout, retry schedule), and the `order.created` field reference with descriptions. Pass `productId` to get a sample payload built from that product's live pricing, plus each variant's buy URL next to the `skuId` it would report — so a handler can branch on named combinations instead of opaque ids. Generated from the same constants the dispatcher uses, so it cannot describe a contract we do not follow.
Base URL: https://platform.hyax.com · Replace YOUR_API_KEY with your team API key.
Query parameters
| Name | Required | Description |
|---|---|---|
productId | No | Scope the sample payload to one product |
skuId | No | Which variant the sample should describe. Defaults to the first |
Request
curl -X GET 'https://platform.hyax.com/hyax-api/v1/webhooks/schema?productId=clx_product_id' \
-H 'Authorization: Bearer YOUR_API_KEY'Response
{
"success": true,
"data": {
"events": ["people.created", "order.created", "product.updated", "…"],
"deliveryContract": {
"method": "POST",
"contentType": "application/json",
"userAgent": "Hyax-Webhooks/1.0",
"requiresHttps": true,
"timeoutMs": 10000,
"maxAttempts": 3,
"retryDelaysMs": [60000, 300000],
"retrySpanMs": 360000,
"maxStoredResponseBytes": 2048,
"headers": {
"signature": {
"name": "X-Webhook-Signature",
"description": "Lowercase hex HMAC-SHA256 of the exact raw request body…"
},
"deliveryId": {
"name": "X-Webhook-Delivery-Id",
"description": "Identical on every retry — use it as the idempotency key."
}
},
"idempotency": "Persist the X-Webhook-Delivery-Id value with a unique constraint…"
},
"orderCreated": {
"fields": [
{
"path": "data.items[].skuId",
"type": "string | null",
"description": "The purchased variant, or null on a product sold as a single item…"
}
],
"samplePayload": {
"event": "order.created",
"timestamp": "2025-01-15T12:00:00.000Z",
"teamId": "clx…",
"data": { "id": "ord_example", "amount": 29, "items": [] }
}
},
"variants": [
{
"id": "clx…",
"sku": "BLACK-XS",
"label": "Black / XS",
"price": 29,
"units": null,
"buyUrl": "https://shop.example.com/buy/studio-tee?variant=BLACK-XS"
}
],
"product": { "id": "clx…", "title": "Studio Tee", "urlIdentifier": "studio-tee" }
}
}