Language

Webhooks

Generated from LinkSnap's own code: every route in this area, what it takes and how to call it.

Method Path What it does
GET /api/v1/webhooks List endpoints (never includes the secret).
POST /api/v1/webhooks Create endpoint — returns the whsec_ secret once.
DELETE /api/v1/webhooks/{id} Remove endpoint.
PATCH /api/v1/webhooks/{id} Pause / resume delivery, or edit the endpoint's url / events.
GET /api/v1/webhooks/deliveries List webhook deliveries.
GET /api/v1/webhooks/deliveries/{id} Get a webhook delivery, with every attempt made at it.
POST /api/v1/webhooks/deliveries/{id}/retry Retry a webhook delivery.
GET /api/v1/webhooks/event-types The event catalogue: every type LinkSnap sends, with what fires it — the dashboard's event picker renders from this.

List endpoints (never includes the secret).

GET /api/v1/webhooks

Example

curl -X GET "https://linksnap.forjio.com/api/v1/webhooks" \
  -H "Authorization: ApiKey lsk_live_<your API key>"

Create endpoint — returns the whsec_ secret once.

POST /api/v1/webhooks

Body

Field Type Required Notes
events any no
url any no

Example

curl -X POST "https://linksnap.forjio.com/api/v1/webhooks" \
  -H "Authorization: ApiKey lsk_live_<your API key>" \
  -H "Content-Type: application/json" \
  -d '{"events":null,"url":null}'

Remove endpoint.

DELETE /api/v1/webhooks/{id}

Path parameters

Name Type Required Notes
id string yes

Example

curl -X DELETE "https://linksnap.forjio.com/api/v1/webhooks/:id" \
  -H "Authorization: ApiKey lsk_live_<your API key>"

Pause / resume delivery, or edit the endpoint's url / events.

PATCH /api/v1/webhooks/{id}

Pause / resume delivery, or edit the endpoint's url / events. The signing secret is never touched by an edit.

Path parameters

Name Type Required Notes
id string yes

Body

Field Type Required Notes
active any no
events any no
url any no

Example

curl -X PATCH "https://linksnap.forjio.com/api/v1/webhooks/:id" \
  -H "Authorization: ApiKey lsk_live_<your API key>" \
  -H "Content-Type: application/json" \
  -d '{"active":null,"events":null,"url":null}'

List webhook deliveries.

GET /api/v1/webhooks/deliveries

List webhook deliveries. Newest first: one row per event per endpoint, with its status (pending, succeeded, failed), attempt count, next retry, the body sent and every attempt made (attemptLog). Filter by subscriptionId, status or type; page with limit (1-100, default 20) and meta.cursor while meta.hasMore.

Query parameters

Name Type Required Notes
cursor any no
limit any no
status any no
subscriptionId any no
type any no

Example

curl -X GET "https://linksnap.forjio.com/api/v1/webhooks/deliveries" \
  -H "Authorization: ApiKey lsk_live_<your API key>"

Get a webhook delivery, with every attempt made at it.

GET /api/v1/webhooks/deliveries/{id}

Path parameters

Name Type Required Notes
id string yes

Example

curl -X GET "https://linksnap.forjio.com/api/v1/webhooks/deliveries/:id" \
  -H "Authorization: ApiKey lsk_live_<your API key>"

Retry a webhook delivery.

POST /api/v1/webhooks/deliveries/{id}/retry

Retry a webhook delivery. Queues one more attempt now at a failed delivery (or sends a succeeded one again); it goes out within a few seconds — read it back with GET /webhooks/deliveries/{id}. 202 with the delivery pending; 409 ALREADY_QUEUED when it is pending already, 409 ENDPOINT_DISABLED when its endpoint is off.

Path parameters

Name Type Required Notes
id string yes

Example

curl -X POST "https://linksnap.forjio.com/api/v1/webhooks/deliveries/:id/retry" \
  -H "Authorization: ApiKey lsk_live_<your API key>"

The event catalogue: every type LinkSnap sends, with what fires it — the dashboard's event picker renders from this.

GET /api/v1/webhooks/event-types

The event catalogue: every type LinkSnap sends, with what fires it — the dashboard's event picker renders from this.

Example

curl -X GET "https://linksnap.forjio.com/api/v1/webhooks/event-types" \
  -H "Authorization: ApiKey lsk_live_<your API key>"
Language