18+ Only  |  Gambling can be addictive — please gamble responsibly  |  Gambling Help: 1800 858 858  |  GambleAware

API reference / Webhooks

POST /v1/webhooks/{webhook_id}/replay

Replay Webhook

Queue past events for this subscription again, with their original `event_id`. Re-sent deliveries carry `X-PuntersEdge-Replay: true`, restart the retry schedule, and keep the `event_id` they first had, so a receiver that deduplicates on it ignores what it already processed. At most 1,000 events per call and one call per key per minute; an event already waiting to be sent is not queued twice. Delivery is at-least-once: the same event can arrive more than once, so deduplicate on `event_id` (in the body, and sent as the `X-PuntersEdge-Id` and `Idempotency-Key` headers). There is no ordering guarantee between events. Each delivery carries `X-PuntersEdge-Timestamp`, `X-PuntersEdge-Attempt` and two signatures: `X-Webhook-Signature: sha256=<hex>` (HMAC-SHA256 of the raw body with your secret) and `X-PuntersEdge-Signature: t=<unix seconds>,v1=<hex>` (HMAC-SHA256 of `<t>.<raw body>`; refuse a `t` more than 5 minutes from now to block replays). Any 2xx answer is success. A 5xx, 408, 429, timeout or connection failure is retried after 1 min, 5 min, 30 min, 2 h, 6 h (6 tries in all, about 8.5 hours), honouring `Retry-After` up to the next step; any other answer is final. After 10 consecutive undeliverable events, or a day of continuous failure, the subscription is paused and the owner is emailed; POST /v1/webhooks/{id}/resume restarts it with the same secret, and POST /v1/webhooks/{id}/replay re-sends what was missed. The delivery log returns the newest 50 rows unless `limit` says otherwise.

Requires X-API-Key

Request

curl -X POST 'https://api.puntersedge.online/v1/webhooks/YOUR_WEBHOOK_ID/replay?since=YOUR_SINCE' \
  -H 'X-API-Key: YOUR_KEY'

Parameters

NameIn TypeRequired Description
webhook_id path string yes
since query string yes Replay events first queued at or after this ISO-8601 time.
status query string no `dead`: retries exhausted or refused. `failed`: dead plus events held while the subscription was paused. `all`: those plus events already delivered.

Responses

Status codes: 200, 401, 402, 403, 422, 429, 500. Response bodies are JSON; the full schema is in /openapi.json.

Example response

200 application/json Field names and types are as the API returns them; values are a real sample, trimmed to a few items.

{
  "id": "wh_7c1d2e9a4b3f",
  "requeued": 37,
  "since": "2026-10-12T06:00:00Z",
  "status": "failed",
  "max_per_call": 1000
}

Related endpoints

Try it against live data

The free tier needs no credit card, and the sandbox endpoints need no key at all.

Get a free API key Quickstart
This site contains wagering-related analysis and is intended for Australian users aged 18+. Gambling involves risk. Please gamble responsibly.