OpenCourt Developers
API ReferenceSignal types

refund.created

Money on an order went back to the customer — to the card, in cash or as club credit — or the club lost a card dispute (method: chargeback). Once per refund: refunding an order in three steps sends three signals. data.object is the refund, with order embedded AS IT IS NOW, so order.amount_refunded never goes down from one refund signal to the next. A refund recorded more than a day before OpenCourt could announce it is not announced late; GET /v1/orders/{id} still lists it. Returning an order paid in full with points moves no money and sends nothing.

Scope: the webhook endpoint’s scopes must include orders:read. Missed a delivery? The same signal is available from GET /v1/signals.

Header Parameters

svix-id*string

The message id — stable across retries of the same message. Deduplicate on the body’s id (the signal id), not on this: an endpoint whose api_version changes while a signal is being retried can receive that signal once per version, as two messages with two message ids.

svix-timestamp*string

When this attempt was sent, in Unix seconds.

svix-signature*string

Signature over the id, timestamp and raw body, made with your endpoint’s secret. Verify it with any Standard Webhooks library before trusting the payload.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

Example Requests

POST/refund.created