List all webhook endpoints
List your webhook endpoints with cursor-based pagination.
In: header
Query Parameters
Number of objects to return. Integer between 1 and 100. Defaults to 25.
251 <= value <= 100Cursor for forward pagination. Use the uuid of the last object on the previous page.
uuidCursor for backward pagination. Use the uuid of the first object on the current page.
uuidResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
import { Factuarea } from "@factuarea/sdk";const factuarea = new Factuarea({ apiKey: process.env.FACTUAREA_API_KEY! });// List endpoints return an async-iterable Page (cursors handled for you).for await (const item of await factuarea.webhookEndpoints.list({ limit: 25 })) { console.log(item.id);}{
"data": [
{
"id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a0b",
"object": "webhook_endpoint",
"url": "https://example.com/webhooks/factuarea",
"description": "Webhook principal de producción.",
"enabled_events": [
"invoice.created",
"invoice.paid",
"quote.approved"
],
"status": "enabled",
"ip_allowlist": [
"203.0.113.10",
"198.51.100.0/24"
],
"delivery_success_rate_24h": 99.5,
"last_delivery_at": "2026-01-25T18:00:00Z",
"last_failure_at": "2026-01-20T09:14:33Z",
"previous_secret_valid_until": "2026-01-26T18:00:00Z",
"created_at": "2025-12-15T12:00:00Z",
"updated_at": "2026-01-25T18:00:00Z",
"api_version": "2026-05-01",
"metadata": {
"erp_code": "IVA-GEN",
"ledger_account": "477000"
},
"custom_headers": {
"Authorization": "Bearer integration-token",
"X-Custom-Auth": "tenant-a"
},
"timeout_seconds": 10,
"degraded_since": "2026-01-24T07:30:00Z"
}
],
"has_more": true,
"next_cursor": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a0c"
}{
"error": {
"type": "authentication_error",
"code": "missing_api_key",
"message": "No se ha proporcionado una API key válida en el header Authorization.",
"param": null,
"doc_url": "https://docs.factuarea.com/guides/errors#missing_api_key",
"request_id": "req_01HKQS5N8VR7QXJ9K3T6BWPMZA"
}
}{
"error": {
"type": "authorization_error",
"code": "insufficient_scope",
"message": "Esta API key no tiene el scope requerido para esta operación.",
"param": null,
"doc_url": "https://docs.factuarea.com/guides/errors#insufficient_scope",
"request_id": "req_01HKQS5NBC3P8M1KX4V7SLNHQD"
}
}{
"error": {
"type": "invalid_request_error",
"code": "parameter_invalid",
"message": "El campo `name` es obligatorio y no puede estar vacío.",
"param": "name",
"doc_url": "https://docs.factuarea.com/guides/errors#parameter_invalid",
"request_id": "req_01HKQS5NGS8Z3T6Q1D2E7FYVSI"
}
}{
"error": {
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Has excedido el rate limit de 60 peticiones por minuto. Reintenta tras 30 segundos.",
"param": null,
"doc_url": "https://docs.factuarea.com/guides/errors#rate_limit_exceeded",
"request_id": "req_01HKQS5NKW1C6W9T4G5H0JBZVL"
}
}{
"error": {
"type": "api_error",
"code": "internal_error",
"message": "Ha ocurrido un error inesperado. Si persiste, contacta con soporte adjuntando el request_id.",
"param": null,
"doc_url": "https://docs.factuarea.com/guides/errors#internal_error",
"request_id": "req_01HKQS5NLX2D7X0U5H6J1KCAWM"
}
}Retrieve webhook delivery
Retrieve a single delivery attempt by its `uuid`, including the full event payload that was delivered.
Ping webhook endpoint
Send a test event (`webhook.ping`) to the endpoint to verify it is reachable and the signature handshake works. The synthetic delivery appears in `GET /webhook_endpoints/{webhook_endpoint}/deliveries`.