props.graded

props.graded data: the first player prop results of a game are confirmed (complete: false), or all of them are (complete: true).

postWebhookprops.graded

Headers

Owls-Signaturestring required

t=<unix seconds>,v1=<hex HMAC-SHA256 of t, a period and the raw body, keyed with the whole signing secret as UTF-8>. During a secret rotation a second v1 is added; accept a match with either. Reject a t more than 5 minutes from your clock.

Owls-Webhook-Idstring required

The event id (evt_...), identical on every retry: dedupe on it.

Owls-Event-Typestring required

The event type.

Owls-Delivery-Attemptstring required

1 for the first attempt, then 2, 3 and so on.

Payload

api_versionstring

The payload version.

createdstring

When the event was created (ISO 8601).

endpoint_idstring

The endpoint it was sent to, whk_....

expires_atstring

No delivery is attempted after this (ISO 8601).

idstring

The event id, evt_...: identical on every retry and in the Owls-Webhook-Id header. Dedupe on it.

occurred_atstring

When what it reports happened, as far as is known (ISO 8601).

typestring

The event type; a type added later arrives as a string this version does not list.

Response

Any 2xx within 10 seconds acknowledges the delivery. 410 Gone disables the endpoint. Anything else, a redirect included, is a failure: line.moved and ev.found are retried after about 5, 20 and 60 seconds, the other types up to 8 times over about a day, and nothing is sent after the event's expires_at.

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.