Webhook endpoints
List delivery failures
/v1/webhooks/{endpoint_id}/failuresThe durable error journal (deliveries that exhausted their retries), most recent first, kept ~30 days. Successful deliveries are only counted in the stats: there is deliberately no per-delivery success log.
read:webhookscurl 'https://api.fansquare.so/v1/webhooks/67a55c69-e54b-4b90-a9f9-e000f12eb3fd/failures' \
-H "Authorization: Bearer $API_KEY" \
-H "Fansquare-Version: Amethyste"{
"data": [
{
"id": "5bfc4962-082a-47f6-a4a8-309631c98ae6",
"event_id": "4117a4c7-1ff6-4b33-a952-dd5ad1b2a4ad",
"event_type": "order.created",
"payload": {
"id": "b387813a-7210-4db8-affc-a11197ea9002",
"external_id": "45e1ccbf-f63f-4198-aa97-f1998abff33d",
"order_date": "2026-10-12T21:14:00.000Z",
"order_type": "tip",
"gross_amount": 4900,
"net_amount": 3920,
"currency": "EUR",
"creator_id": "m81IhLxdhzDGYs54rNp2",
"fan_id": "a6df8022-e509-4575-ad28-e29c2d1d42dc",
"fan_username": "alex_92",
"attribution": {
"user_id": "ki9DZXxpgGz7KiDqHj88eCxHg56W",
"method": "message_link",
"attributed_at": "2026-10-12T21:14:00.000Z"
}
},
"occurred_at": "2026-10-12T21:14:00.000Z",
"status_code": 500,
"error": "HTTP 500: Internal Server Error",
"attempts": 4,
"failed_at": "2026-10-12T21:20:10.000Z",
"replayed_at": null
}
],
"next_cursor": "KI7cfD0OLcWfeXZb1FTusJpz0nfKiYXPwHCZe-VXBaeQSX1w5BvO5UH-ua-dzNpXOTixzw"
}Parameters
Headers
Fansquare-VersionstringrequiredAPI version to pin. Accepts the mineral name or the release date of a version.
Path
endpoint_idstringrequiredWebhook endpoint id (the
idfield of endpoint items).format uuid
Query
cursorstringOpaque cursor from the previous page (
next_cursor).limitintegerPage size (1-100).
Default50min 1max 100
Response
OK, application/json
dataarray of objectsrequiredidstringrequiredFailure id. Path parameter for the replay endpoint.
event_idstringrequiredThe event this delivery carried (
idof the webhook envelope).event_typestringrequiredType of the event (
typeof the webhook envelope).Valuesorder.createdorder.refundedassignment.updatedconversation.ai_control_requestedpingpayloadobjectrequiredThe
dataobject of the failed delivery, kept for replay.occurred_atstringrequiredWhen the event happened (
created_atof the webhook envelope).format date-timestatus_codeinteger | nullrequiredLast HTTP status returned by the endpoint, null on network errors.
errorstring | nullrequiredResponse-body excerpt or transport error of the last attempt.
attemptsintegerrequiredDelivery attempts made before giving up (4 with the standard retry ladder).
failed_atstringrequiredWhen the last attempt failed (ISO 8601).
format date-timereplayed_atstring | nullrequiredWhen the failure was last replayed (POST …/replay), null if never.
format date-time
next_cursorstring | nullrequired
curl 'https://api.fansquare.so/v1/webhooks/67a55c69-e54b-4b90-a9f9-e000f12eb3fd/failures' \
-H "Authorization: Bearer $API_KEY" \
-H "Fansquare-Version: Amethyste"{
"data": [
{
"id": "5bfc4962-082a-47f6-a4a8-309631c98ae6",
"event_id": "4117a4c7-1ff6-4b33-a952-dd5ad1b2a4ad",
"event_type": "order.created",
"payload": {
"id": "b387813a-7210-4db8-affc-a11197ea9002",
"external_id": "45e1ccbf-f63f-4198-aa97-f1998abff33d",
"order_date": "2026-10-12T21:14:00.000Z",
"order_type": "tip",
"gross_amount": 4900,
"net_amount": 3920,
"currency": "EUR",
"creator_id": "m81IhLxdhzDGYs54rNp2",
"fan_id": "a6df8022-e509-4575-ad28-e29c2d1d42dc",
"fan_username": "alex_92",
"attribution": {
"user_id": "ki9DZXxpgGz7KiDqHj88eCxHg56W",
"method": "message_link",
"attributed_at": "2026-10-12T21:14:00.000Z"
}
},
"occurred_at": "2026-10-12T21:14:00.000Z",
"status_code": 500,
"error": "HTTP 500: Internal Server Error",
"attempts": 4,
"failed_at": "2026-10-12T21:20:10.000Z",
"replayed_at": null
}
],
"next_cursor": "KI7cfD0OLcWfeXZb1FTusJpz0nfKiYXPwHCZe-VXBaeQSX1w5BvO5UH-ua-dzNpXOTixzw"
}