Webhook events
order.adjusted
Sent once for each applied order adjustment. A stale adjustment sends nothing. Each reward whose value changed also sends reward.adjusted.
Example payload
This illustrative payload follows the current event validator. Amounts use minor units.
json
{
"id": "00000000-0000-4000-8000-000000000001",
"companyId": "company-example",
"type": "order.adjusted",
"data": {
"type": "order.adjusted",
"eventId": "payment-example",
"orderId": "order-example",
"totalCents": 10000,
"commissionableCents": 10000,
"occurredAt": "2026-10-11T12:00:00.000Z",
"partners": [
{
"partnerId": "partner-example",
"partnerExternalId": "merchant-partner-001"
}
],
"customerId": "customer-example",
"currency": "CAD",
"rewardIds": [
"reward-example"
],
"rewardChangeCents": 500
},
"createdAt": "2026-10-11T12:00:00.000Z"
}Payload fields
| Field | Type | Required | Details |
|---|---|---|---|
type | "order.adjusted" | Yes | |
eventId | string | Yes | |
orderId | string | Yes | |
totalCents | integer | No | minimum 0. maximum 1000000000000 |
commissionableCents | integer | No | minimum 0. maximum 1000000000000 |
reason | string | No | |
occurredAt | string | Yes | date-time |
partners | array | Yes | |
partnerId | string | No | |
partnerExternalId | string | No | |
customerId | string | Yes | |
currency | "CAD", "USD", "EUR", "GBP" | Yes | |
previousTotalCents | integer | No | minimum 0. maximum 1000000000000 |
previousCommissionableCents | integer | No | minimum 0. maximum 1000000000000 |
rewardIds | array | Yes | |
rewardChangeCents | integer | Yes | minimum -9007199254740991. maximum 9007199254740991 |
partners[]
| Field | Type | Required | Details |
|---|---|---|---|
partners.partnerId | string | Yes | |
partners.partnerExternalId | string | Yes |
Payload schema
json
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "order.adjusted"
},
"eventId": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"orderId": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"totalCents": {
"type": "integer",
"minimum": 0,
"maximum": 1000000000000
},
"commissionableCents": {
"type": "integer",
"minimum": 0,
"maximum": 1000000000000
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"occurredAt": {
"type": "string",
"format": "date-time"
},
"partners": {
"type": "array",
"items": {
"type": "object",
"properties": {
"partnerId": {
"type": "string",
"minLength": 1
},
"partnerExternalId": {
"type": "string",
"minLength": 1
}
},
"required": [
"partnerId",
"partnerExternalId"
],
"additionalProperties": true
}
},
"partnerId": {
"type": "string",
"minLength": 1
},
"partnerExternalId": {
"type": "string",
"minLength": 1
},
"customerId": {
"type": "string",
"minLength": 1
},
"currency": {
"type": "string",
"enum": [
"CAD",
"USD",
"EUR",
"GBP"
]
},
"previousTotalCents": {
"type": "integer",
"minimum": 0,
"maximum": 1000000000000
},
"previousCommissionableCents": {
"type": "integer",
"minimum": 0,
"maximum": 1000000000000
},
"rewardIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"rewardChangeCents": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"type",
"eventId",
"orderId",
"occurredAt",
"partners",
"customerId",
"currency",
"rewardIds",
"rewardChangeCents"
],
"additionalProperties": true
}Handle delivery
Verify the signature over the raw body before parsing JSON. Check that the body ID matches Grizzlee-Event-Id. Process each ID once, since delivery can repeat.