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

API reference / Webhooks

POST /v1/webhooks

Create Webhook

Requires X-API-Key

Request

curl -X POST 'https://api.puntersedge.online/v1/webhooks' \
  -H 'X-API-Key: YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"url": "https://example.com/hooks/puntersedge", "events": ["arb.opportunity"], "min_edge_pct": 1.5, "sports": ["nrl", "afl"]}'

Parameters

NameIn TypeRequired Description
url body string yes HTTPS endpoint that receives the POST. Plain http:// is rejected with 422.
events body array no Events to subscribe to. Two events have live producers: `arb.opportunity` (a cross-book arb opened) and `race.odds_open` (the first bookmaker prices for a race just landed — fires once per race, so you can fetch the card on push instead of schedule-polling). Since the early-market lanes of 2026-09-01 it fires HOURS ahead, not minutes: measured over the 48h to 2026-09-03 11:00 UTC, the first price landed a median 10.1h before the jump on AU thoroughbreds, 5.3h on greyhounds, 6.8h on harness - typically overnight or early morning for the day's card, from one or two early books; the full board fills inside about an hour of the jump. `odds.change` is delivered solely by POST /v1/webhooks/{id}/test; `race.result` and `market.suspend` are accepted but never fire.
min_edge_pct body number no Only deliver arb.opportunity when the theoretical edge is at least this percentage. Omit for every opportunity.
sports body array no Only deliver events for these sports. Sport keys as returned by GET /v1/sports; racing events (arbs and race.odds_open) arrive as racing_horse, racing_greyhound or racing_harness. Omit for all sports.

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",
  "url": "https://example.com/hooks/puntersedge",
  "events": [
    "arb.opportunity",
    "race.odds_open"
  ],
  "min_edge_pct": 1.5,
  "sports": [
    "racing_horse",
    "racing_greyhound",
    "nrl"
  ],
  "is_active": true,
  "created_at": "2026-09-07T00:52:10",
  "last_delivery_at": null,
  "failure_count": 0,
  "secret": "whsec_EXAMPLE_ONLY_shown_once_at_creation",
  "delivery_entitled": true,
  "delivery_paused_reason": null
}

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.