Webhooks
Set up
Section titled “Set up”npm install @reminix/sdkimport { createClient } from "@reminix/sdk";
const reminix = createClient(); // reads REMINIX_API_KEYpip install reminixfrom reminix import Reminix
reminix = Reminix() # reads REMINIX_API_KEYnpm install -g @reminix/clireminix loginexport REMINIX_API_KEY="<your API key>"List webhook endpoints
Section titled “List webhook endpoints”GET /v1/workspace/webhook-endpoints
The workspace’s outgoing webhook endpoints, newest first, without their signing secrets.
await reminix.workspace.webhookEndpoints.list();reminix.workspace.webhook_endpoints.list()reminix workspace webhook-endpoints listcurl -X GET "https://api.reminix.com/v1/workspace/webhook-endpoints" \ -H "Authorization: Bearer $REMINIX_API_KEY"More about this endpoint
A workspace has at most 10, so the list is a single page (nextCursor is null).
Add a webhook endpoint
Section titled “Add a webhook endpoint”POST /v1/workspace/webhook-endpoints
Registers an https URL to receive the workspace’s events, signed Svix-compatibly.
await reminix.workspace.webhookEndpoints.create({ url: "https://example.com/hooks",});reminix.workspace.webhook_endpoints.create( url="https://example.com/hooks",)reminix workspace webhook-endpoints create \ --url https://example.com/hookscurl -X POST "https://api.reminix.com/v1/workspace/webhook-endpoints" \ -H "Authorization: Bearer $REMINIX_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url":"https://example.com/hooks"}'| Field | Description |
|---|---|
url | The https URL that receives the events. |
description | A note for people managing the endpoint. |
eventTypes | Only these event types (see event-types); omit for every event. |
More about this endpoint
The response carries the endpoint’s signing secret (whsec_…) — shown ONCE, store it to verify deliveries. Private and non-https hosts are refused; at most 10 per workspace.
Get a webhook endpoint
Section titled “Get a webhook endpoint”GET /v1/workspace/webhook-endpoints/{endpointId}
One endpoint, without its signing secret: whether it is enabled, its consecutive failures and its last delivery status.
await reminix.workspace.webhookEndpoints.get("we_3f0c…");reminix.workspace.webhook_endpoints.get("we_3f0c…")reminix workspace webhook-endpoints get 'we_3f0c…'curl -X GET "https://api.reminix.com/v1/workspace/webhook-endpoints/we_3f0c…" \ -H "Authorization: Bearer $REMINIX_API_KEY"| Field | Description |
|---|---|
endpointId |
Remove a webhook endpoint
Section titled “Remove a webhook endpoint”DELETE /v1/workspace/webhook-endpoints/{endpointId}
Stops all deliveries to the endpoint and deletes it with its secret.
await reminix.workspace.webhookEndpoints.delete("we_3f0c…");reminix.workspace.webhook_endpoints.delete("we_3f0c…")reminix workspace webhook-endpoints delete 'we_3f0c…' --yescurl -X DELETE "https://api.reminix.com/v1/workspace/webhook-endpoints/we_3f0c…" \ -H "Authorization: Bearer $REMINIX_API_KEY"| Field | Description |
|---|---|
endpointId |
More about this endpoint
Its delivery history goes with it.
Re-enable a webhook endpoint
Section titled “Re-enable a webhook endpoint”POST /v1/workspace/webhook-endpoints/{endpointId}/enable
Resumes deliveries to an endpoint that was disabled after repeated failures, keeping its signing secret; the failure count resets.
await reminix.workspace.webhookEndpoints.enable("we_3f0c…");reminix.workspace.webhook_endpoints.enable("we_3f0c…")reminix workspace webhook-endpoints enable 'we_3f0c…'curl -X POST "https://api.reminix.com/v1/workspace/webhook-endpoints/we_3f0c…/enable" \ -H "Authorization: Bearer $REMINIX_API_KEY"| Field | Description |
|---|---|
endpointId |
Send a test event
Section titled “Send a test event”POST /v1/workspace/webhook-endpoints/{endpointId}/test
Sends a ping event to the endpoint, signed like every delivery — the way to check an integration verifies and accepts deliveries.
await reminix.workspace.webhookEndpoints.test("we_3f0c…");reminix.workspace.webhook_endpoints.test("we_3f0c…")reminix workspace webhook-endpoints test 'we_3f0c…'curl -X POST "https://api.reminix.com/v1/workspace/webhook-endpoints/we_3f0c…/test" \ -H "Authorization: Bearer $REMINIX_API_KEY"| Field | Description |
|---|---|
endpointId |
List an endpoint’s deliveries
Section titled “List an endpoint’s deliveries”GET /v1/workspace/webhook-endpoints/{endpointId}/deliveries
Delivery history for one endpoint, newest first: each event’s status, attempts and last HTTP status (payloads are not returned).
await reminix.workspace.webhookDeliveries.list("we_3f0c…");reminix.workspace.webhook_deliveries.list("we_3f0c…")reminix workspace webhook-deliveries list 'we_3f0c…'curl -X GET "https://api.reminix.com/v1/workspace/webhook-endpoints/we_3f0c…/deliveries" \ -H "Authorization: Bearer $REMINIX_API_KEY"| Field | Description |
|---|---|
endpointId | |
limit | Items per page, 1–100 (default 25). |
cursor | Opaque token from a previous page's nextCursor. |
More about this endpoint
Kept for 30 days. Paginate with the opaque nextCursor.
Redeliver an event
Section titled “Redeliver an event”POST /v1/workspace/webhook-endpoints/{endpointId}/deliveries/{deliveryId}/redeliver
Sends a recorded delivery’s event again, as a new delivery with its own history entry; the event id is unchanged, so receivers can deduplicate.
await reminix.workspace.webhookDeliveries.redeliver("we_3f0c…", "del_8a1b…");reminix.workspace.webhook_deliveries.redeliver("we_3f0c…", "del_8a1b…")reminix workspace webhook-deliveries redeliver 'we_3f0c…' 'del_8a1b…'curl -X POST "https://api.reminix.com/v1/workspace/webhook-endpoints/we_3f0c…/deliveries/del_8a1b…/redeliver" \ -H "Authorization: Bearer $REMINIX_API_KEY"| Field | Description |
|---|---|
endpointId | |
deliveryId |
More about this endpoint
The endpoint must be enabled.
List event types
Section titled “List event types”GET /v1/workspace/event-types
Every workspace event a webhook endpoint can subscribe to, with what it means.
await reminix.workspace.eventTypes.list();reminix.workspace.event_types.list()reminix workspace event-types listcurl -X GET "https://api.reminix.com/v1/workspace/event-types" \ -H "Authorization: Bearer $REMINIX_API_KEY"More about this endpoint
Pass some as eventTypes when adding an endpoint; an endpoint without a list receives them all.