Your nightly refit, pushed
Stop polling. Register one HTTPS endpoint and each market's nightly publish sends a signed refit.published event the moment the statistics land — which market, the refit date, the content hash, and the blob URL.
Research data push for your own stack. PairSync does not place trades.
How it works
One endpoint, one signing secret, one event type — wired in minutes.
- Register your endpoint — In the Terminal, register one HTTPS URL to receive events. You get a whsec_ signing secret, shown once — store it; you can roll it at any time, and the old secret keeps co-signing for 24 hours so nothing breaks mid-roll.
- Receive the signed event — After each market's nightly publish, PairSync POSTs a refit.published event to your endpoint — which market, the refit_date, the blob's content_hash, and the URL to fetch it from.
- Verify and fetch — Deliveries follow the Standard Webhooks spec verbatim, so any stock verification library checks the signature out of the box. Verify, then GET the blob URL with your API key.
The event
One event type, one shape: {"type": "refit.published", "timestamp": …, "data": {market, refit_date, content_hash, url}} — delivered with webhook-id, webhook-timestamp, and webhook-signature headers. The signature covers the exact bytes on the wire.
Signed, retried, verifiable
- Standard Webhooks, verbatim — Every delivery carries webhook-id, webhook-timestamp, and webhook-signature headers with a v1 HMAC-SHA256 signature over the raw body — a stock Standard Webhooks library verifies it unchanged.
- Stable idempotency key — The webhook-id header never changes across retries of the same event — deduplicate on it and replays are harmless.
- Retries with backoff — Six attempts per event: immediate, then +1m, +15m, +1h, +4h, +4h. Only a 2xx counts as delivered; redirects are never followed.
- Verifiable content — The event carries the blob's content_hash — after fetching, recompute it and you know the payload is exactly what the nightly run published.
Frequently asked questions
Can I get a push when a refit publishes?
Yes. Register one HTTPS endpoint in the Terminal and each market's nightly publish sends a signed refit.published event (Standard Webhooks spec) carrying the refit_date, content_hash, and blob URL.
What happens if my endpoint is down?
Delivery retries on a backoff schedule — immediately, then +1 minute, +15 minutes, +1 hour, +4 hours, +4 hours. The webhook-id header is stable across retries, so it doubles as your idempotency key.
Is Broadcast extra?
No. Webhook push is included in the subscription alongside REST and MCP — no separate price or tier.