Webhooks
Register webhook endpoints, test and enable them, rotate signing secrets, and inspect and replay deliveries from Dashboard → Webhooks.
Webhooks tell your systems when something happens on your tenant: a tournament starts, an award is granted, a shop order settles. Dashboard → Webhooks (titled Customer webhooks) is where you set them up and watch them work. The page has three sections: Webhook endpoints, Signing secrets and Deliveries.
This page covers the screens. For the event catalog, payloads, signatures and retry behaviour, see the Webhooks section.
Register an endpoint
- In Register an endpoint, enter the HTTPS endpoint URL of your receiver, a Description, and pick the Event types it should receive.
- Select Register endpoint.
- The Store this signing secret now dialog shows the endpoint's signing secret. Store it where your receiver can read it, tick I have stored this signing secret, and select Done.
The signing secret is displayed once and cannot be recovered. If you lose it, rotate it.
The endpoint appears with its state and test status. It receives nothing until you enable it.
Test and enable
- Make sure your receiver verifies signatures; see Verifying signatures.
- Select Test. Tanitar sends a signed test delivery to the endpoint. The test status becomes
passedwhen your receiver answers with a success status. - Select Enable. It is available only after a passed test. Events now flow to the endpoint.
Change an endpoint
- Edit changes the URL or description. The URL of an
activeendpoint is locked: select Disable first, then change it. A new URL resets the test status tountested, so test and enable again. - Replace subscriptions replaces the endpoint's event types with the ones selected.
- Disable pauses deliveries; Enable resumes them.
- Revoke retires the endpoint permanently. Revocation is terminal.
See Endpoint states for what each state accepts.
Rotate a signing secret
- In Rotate a secret, pick the Endpoint.
- Set Overlap seconds: how long the previous secret keeps signing alongside the new one. The
default is 86,400 (24 hours), which is also the maximum by default.
0retires the previous secret immediately. - Select Rotate secret and store the new secret from the dialog.
During the overlap, every delivery carries two signatures, one per secret, so your receiver keeps verifying while you deploy the new secret. Revoke secret stops a single secret verifying immediately. The list shows each secret's state, never its value.
Inspect deliveries
- In Deliveries, filter by Endpoint, Status (
pending,delivered,dead), Event type, From and To, and choose a Limit. - Select Load deliveries. Page with Prev and Next.
- Select Inspect on a delivery to see its attempts and the receiver's responses.
A delivery that exhausts its retries becomes dead. See Retries.
Replay
- Replay on a settled delivery queues a new attempt under the same
webhook-id, so your receiver can recognise it as a duplicate. - Replay dead replays the dead deliveries of one endpoint, oldest first, up to the Replay-dead limit (at most 500 at a time). Use it after your receiver recovers from an outage.
Both need the endpoint to be active. See Replay.
What can go wrong
| Code | Why | What to do |
|---|---|---|
WEBHOOK_ENDPOINT_UNSAFE | The URL is not HTTPS or resolves to a private or otherwise disallowed address | Use a public HTTPS URL |
WEBHOOK_ENDPOINT_UNRESOLVED | The URL's hostname does not resolve | Check the DNS name |
WEBHOOK_ENDPOINT_LIMIT | You already have 10 endpoints that are not revoked | Revoke one you no longer use |
WEBHOOK_EVENT_TYPE_UNSUPPORTED | An event type is not in the published catalog | Pick from the event catalog |
WEBHOOK_ENDPOINT_UNTESTED | You tried to enable an endpoint without a passed test | Test it first |
WEBHOOK_ENDPOINT_URL_LOCKED | You tried to change the URL of an active endpoint | Disable it first |
WEBHOOK_ENDPOINT_INACTIVE | Replay needs an active endpoint | Enable the endpoint, then replay |
WEBHOOK_DELIVERY_IN_FLIGHT | The delivery is still being attempted | Wait for it to settle |
WEBHOOK_REPLAY_LIMIT | A delivery may be replayed at most 10 times | Investigate your receiver before replaying further |
WEBHOOK_REVISION_CONFLICT | Someone changed the endpoint since you loaded the page | Reload and retry |
| Members have read-only access. | Your role is org:member | Ask an admin |