An order has been executed
An order has been carried out, and what it produced is listed in execution_record. For an execute_in_lago order that means the subscriptions, coupons, wallets or one-off invoice the quote described; an order_only order records the mode and the timestamp alone. It is emitted on success only: a failed attempt is rolled back and leaves the order in the failed status with the reasons in execution_record.errors, without emitting anything. The billing_snapshot returned by the REST endpoints is omitted from this payload, being a heavy blob; retrieve the order to get it. This is a premium feature.
Headers
Signature of the webhook payload. The format depends on X-Lago-Signature-Algorithm: hmac is the Base64 encoding of an HMAC-SHA256 digest of the payload, jwt is an RS256 JSON Web Token (a string starting with eyJ).
Algorithm used to generate the signature
Unique id of the webhook. It can be used for idempotency
Payload
Example payload
{
"organization_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"order": {
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"number": "OR-2026-0001",
"status": "created",
"order_type": "subscription_creation",
"execution_mode": "execute_in_lago",
"currency": "USD",
"executed_at": "2026-07-01T00:00:00Z",
"execution_record": {
"executed_at": "2026-07-01T00:00:00Z",
"execution_mode": "execute_in_lago",
"invoice_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"subscription_ids": [
"1a901a90-1a90-1a90-1a90-1a901a901a90"
],
"terminated_subscription_ids": [
"1a901a90-1a90-1a90-1a90-1a901a901a90"
],
"applied_coupon_ids": [
"1a901a90-1a90-1a90-1a90-1a901a901a90"
],
"wallet_ids": [
"1a901a90-1a90-1a90-1a90-1a901a901a90"
],
"errors": [
"plan_not_found"
]
},
"lago_organization_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"lago_customer_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"lago_order_form_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"created_at": "2026-04-29T08:59:51Z",
"updated_at": "2026-04-29T08:59:51Z"
}
}Response
Return a 200 status to indicate that the data was received successfully
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.