Endpoints
An endpoint is an ingestion URL plus verification and routing rules. Create one per source, not per destination — that keeps retries and logs easy to reason about.
Create from the console
Section titled “Create from the console”- Open Endpoints and choose Create endpoint.
- Pick a provider so Hooks pre-fills the right signature header.
- Copy the ingestion URL into the provider’s webhook settings.
- Add at least one destination and send a test event.
Endpoint fields
Section titled “Endpoint fields”| Field | Notes |
|---|---|
name |
Human-readable label shown in logs and alerts. |
provider |
Preset for signature verification and event headers: generic, github, stripe, slack, or linear. |
signing_secret |
Generated on creation. Rotate it from endpoint settings. |
status |
active or paused. Paused endpoints keep receiving events. |
Ingestion URL
Section titled “Ingestion URL”https://api.hooks.events/in/{endpoint-public-id}The public id is stable for the life of the endpoint. Treat the URL as a secret: anyone with it can create events.
Providers
Section titled “Providers”| Provider | Signature header | Notes |
|---|---|---|
generic |
X-Hooks-Signature |
Timestamp + HMAC over the raw body. |
github |
X-Hub-Signature-256 |
HMAC-SHA256 over the raw body. |
stripe |
Stripe-Signature |
t=...,v1=... with a 5-minute tolerance. |
slack |
X-Slack-Signature |
v0= HMAC over v0:<timestamp>:<body>. |
linear |
Linear-Signature |
Hex HMAC over the raw body plus a 60-second webhookTimestamp window. |
Test events
Section titled “Test events”Queue a synthetic event instead of sending traffic through the public ingress:
curl -X POST "https://api.hooks.events/v1/endpoints/$ENDPOINT_ID/test-events" \ -H "Authorization: Bearer $HOOKS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"eventType":"agent.check"}'