API reference
Webhooks
Manage the endpoints that receive signed events (the same ones as Developers, Webhooks). The signing secret is returned once, on create and on rotate.
Endpoints
GET/webhookswebhooks:read
List endpoints.
curl https://api.sellhidden.com/v1/webhooks \
-H "Authorization: Bearer hsk_live_…"{ "ok": true, "webhooks": [ { "id": "clx…", "url": "https://example.com/hooks", "label": "Fulfilment", "events": [ "order.paid" ], "active": true, "consecutiveFailures": 0, "secretHint": "whsec_1a2b…", "lastDelivery": { … }, "deliveryCount": 42, "createdAt": "…" } ], "limit": 5 }POST/webhookswebhooks:writeIdempotency-Key201
Create an endpoint. Public https URLs only. Counts against the plan's endpoint limit (403 plan_limit).
| Body | Type | Description |
|---|---|---|
| urlrequired | Type: string | https URL. |
| eventsrequired | Type: string[] | Event names (see Webhooks, Events), or wildcards like order.* or *. |
| label | Type: string | Up to 60 characters. |
curl -X POST https://api.sellhidden.com/v1/webhooks \
-H "Authorization: Bearer hsk_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"url": "https://example.com/hooks/hidden",
"events": [
"order.paid",
"order.delivered"
],
"label": "Fulfilment"
}'{ "ok": true, "webhook": { "id": "clx…", "url": "…", "events": [ "order.paid", "order.delivered" ], "active": true, "secret": "whsec_…", … } }GET/webhooks/{id}webhooks:read
Get an endpoint.
curl https://api.sellhidden.com/v1/webhooks/ID \
-H "Authorization: Bearer hsk_live_…"PATCH/webhooks/{id}webhooks:write
Update an endpoint.
| Body | Type | Description |
|---|---|---|
| url | Type: string | |
| label | Type: string | |
| events | Type: string[] | |
| active | Type: boolean | Switch it on again after it was disabled for failures. |
| resetFailures | Type: boolean | Reset the consecutive failure counter. |
curl -X PATCH https://api.sellhidden.com/v1/webhooks/ID \
-H "Authorization: Bearer hsk_live_…" \
-H "Content-Type: application/json" \
-d '{"active":true,"resetFailures":true}'DELETE/webhooks/{id}webhooks:write
Delete an endpoint.
curl -X DELETE https://api.sellhidden.com/v1/webhooks/ID \
-H "Authorization: Bearer hsk_live_…"POST/webhooks/{id}/rotate-secretwebhooks:writeIdempotency-Key
Rotate the secret. Returns the new secret once. Deliveries are signed with it from now on.
curl -X POST \
https://api.sellhidden.com/v1/webhooks/ID/rotate-secret \
-H "Authorization: Bearer hsk_live_…" \
-H "Idempotency-Key: $(uuidgen)"POST/webhooks/{id}/testwebhooks:write
Send a test event. A signed webhook.test delivery (10 per endpoint per minute). The response carries the delivery row with the status code your endpoint returned.
curl -X POST \
https://api.sellhidden.com/v1/webhooks/ID/test \
-H "Authorization: Bearer hsk_live_…"GET/webhooks/{id}/deliverieswebhooks:read
Delivery log.
| Query parameters | Type | Description |
|---|---|---|
| status | Type: ok | failed | |
| limit | Type: 1..100 | Page size. Default 25. |
| cursor | Type: string | nextCursor from the previous page. |
curl https://api.sellhidden.com/v1/webhooks/ID/deliveries \
-H "Authorization: Bearer hsk_live_…"Get help
Send us the endpoint, the request or delivery id and the response you got. Security findings go through responsible disclosure. Live platform status is on the support page.
See also