Skip to Content
Urlizo API Docs

Webhooks

Assinaturas de eventos (HMAC-SHA256) com entrega async (retry 5x + DLQ; nunca desativa sozinho). Catálogo de 10 eventos (link.*, api-key.*, billing.*). URL deve ser HTTPS (409 senão). Envelope de deliveries usa a chave `deliveries` (não `data`). Teste via pipeline completa: status real 201 (não 202).

Tag no Swagger: Webhooks · Auth: JWT (Dashboard) + API Key (Public) · 7 endpoints

POST/api/v1/webhooks

Cria webhook. Status real 201. Validação = 400 (não 422).

Auth: API Key Bearer (scope webhooks:manage)

Request body

CampoTipoObrigatórioRegras
namestringsimMin 1, max 100.
urlstring (url)simHTTPS.
eventsevento[]simMin 1, max 10.

Response

Webhook + secret

Errors: 401 · 403 · 400 VALIDATION_ERROR · 409 CONFLICT

GET/api/v1/webhooks

Lista paginada.

Auth: API Key Bearer (scope webhooks:read)

Query parameters

CampoTipoObrigatórioRegras
pagenumbernãoDefault 1.
pageSizenumbernãoDefault 20, max 100.

Response

{ data: Webhook[], total, page, pageSize, totalPages }

Errors: 401 · 403

GET/api/v1/webhooks/:id

Busca por ID.

Auth: API Key Bearer (scope webhooks:read)

Response

Webhook

Errors: 401 · 403 · 404

PATCH/api/v1/webhooks/:id

Atualiza (campos opcionais).

Auth: API Key Bearer (scope webhooks:manage)

Response

Webhook

Errors: 401 · 403 · 404 · 400 VALIDATION_ERROR

DELETE/api/v1/webhooks/:id

Exclui. Status real 204.

Auth: API Key Bearer (scope webhooks:manage)

Response

204 No Content

Errors: 401 · 403 · 404

POST/api/v1/webhooks/:id/test

Evento de teste. Status real 201 (não 202).

Auth: API Key Bearer (scope webhooks:manage)

Response

{ success, message }

Errors: 401 · 403 · 404

GET/api/v1/webhooks/:id/deliveries

Histórico (envelope `deliveries`).

Auth: API Key Bearer (scope webhooks:read)

Response

{ deliveries, total, page, pageSize, totalPages }

Errors: 401 · 403 · 404