TANITARDevelopers
Webhooks

Webhooks

Receive Tanitar events at your own HTTPS endpoint as signed, retried, replayable deliveries.

Webhooks push tenant activity to a URL you run, so your systems react without polling. Examples include a tournament starting, a mission completing, a grant applying or a shop order settling.

How it works

  1. An administrator on your team registers an endpoint (an HTTPS URL) in the Tanitar dashboard and chooses the event types it receives. Tanitar shows the endpoint's signing secret once.
  2. The endpoint must pass a test delivery before it can be enabled.
  3. When an event your endpoint subscribes to occurs on your tenant, Tanitar records one delivery for that endpoint and POSTs the event to it.
  4. Every delivery is signed with HMAC-SHA256. Your receiver verifies the signature before it trusts the body.
  5. A delivery that does not get a 2xx answer is retried on a fixed ladder of eight attempts. One that never succeeds is marked dead and stays visible in the delivery log.
  6. An administrator can replay a single delivery, or every dead delivery of an endpoint after an outage. Replays reuse the same webhook-id and carry a tanitar-replay header.
sequenceDiagram
    participant D as Tanitar
    participant R as Organizer receiver
    D->>R: POST event (webhook-id, webhook-timestamp, webhook-signature)
    alt 2xx within the timeout
        R-->>D: 200 OK
        Note over D: delivery settles as delivered
    else error, timeout or non-2xx
        R-->>D: 500
        Note over D: next attempt scheduled on the retry ladder
    end

What you can subscribe to

Only a closed list of event types is exposed to webhooks: rewards, shop, gamification, player membership and tournament events. Internal platform traffic is never delivered. The full list, with the payload of each event and a signed example request, is the event catalog.

Who manages webhooks

Endpoints, subscriptions, secrets and replays are managed from the dashboard by an administrator of your organization (the org:admin role); every member of the organization can read endpoints and the delivery log. See Webhooks in the dashboard for the screens.

The webhooks:read, webhooks:mutate and webhooks:replay API-key scopes exist in the scope catalog, but no webhook route accepts an API key today. Manage webhooks through the dashboard.

Guarantees in one table

PropertyBehavior
DeliveryAt least once. Deduplicate on webhook-id.
OrderingNot guaranteed. Use occurredAt and the event's own fields to order.
SignatureHMAC-SHA256 over <webhook-id>.<webhook-timestamp>.<body>, one v1, entry per active secret.
Timeout10 seconds per attempt by default. Redirects are not followed.
RetriesEight attempts over roughly 45 hours; a 410 Gone stops them at once.
RetentionA settled delivery stays in the log for 30 days.
EndpointsUp to 10 non-revoked endpoints per organization.

On this page