Report an order event
Send Bilt one change to one order of a linked customer.
Authorizations
Order reports are signed, not sent with a token. Send the key ID Bilt issued when you registered your Ed25519 public key in X-Bilt-Key-Id, and sign each request with the Standard Webhooks v1a scheme in the webhook-* headers. See Sign your requests.
Headers
Unique ID for this request, and the deduplication key. Send the same value with the same body on every retry. The same value with a different body is REJECTED with IDEMPOTENCY_KEY_REUSED.
1 - 1024When you signed the request, in integer Unix seconds. Bilt rejects a timestamp more than 300 seconds from when it received the request (stale_timestamp).
1024^\d+$v1a, followed by the base64 Ed25519 signature of {webhook-id}.{webhook-timestamp}.{raw body}. You can send several space-separated entries during key rotation. Any one valid v1a entry passes, and other schemes are ignored.
1 - 1024Body
One change to one order. An unknown key anywhere in the event makes it REJECTED with VALIDATION_FAILED.
Unique per event. Send the same value, with the same body, on every retry of the event.
^[A-Za-z0-9._:-]{1,128}$Your ID for the order. The same on every event of the order.
^[A-Za-z0-9._:-]{1,128}$Your ID for the customer. It must equal, byte for byte, the value you used when they linked. No surrounding whitespace.
256^\S(.*\S)?$The currency of every amount in the order. The same on every event of the order.
USD, CAD, GBP, EUR When the change this event reports happened.
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?Z$"2026-10-07T14:02:11Z"
What happened to the order. type selects the variant.
One entry per tender whose money moved in this event. Send it only when money moved. Required on PAYMENT_UPDATED.
1 - 10 elementsResponse
Bilt stored the request and will check it within seconds. The outcome (ACCEPTED, HELD, or REJECTED, with a reason) is not in the response. No body.