Webhook events
incentive.flagged
Sent with order.completed when Grizzlee accepted an order whose incentiveAppliedCents did not match its reservation.
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": "incentive.flagged",
"data": {
"orderId": "order-example",
"eventId": "payment-example",
"customerId": "customer-example",
"currency": "CAD",
"incentiveAppliedCents": 500,
"incentiveFlag": {
"reason": "no_reservation",
"maxCents": 500,
"reportedCents": 500
}
},
"createdAt": "2026-10-11T12:00:00.000Z"
}Payload fields
| Field | Type | Required | Details |
|---|---|---|---|
orderId | string | Yes | |
eventId | string | Yes | |
customerId | string | Yes | |
currency | "CAD", "USD", "EUR", "GBP" | Yes | |
incentiveAppliedCents | integer | Yes | minimum 0. maximum 1000000000000 |
incentiveFlag | object | Yes | |
partnerId | string | No | |
partnerExternalId | string | No |
incentiveFlag
| Field | Type | Required | Details |
|---|---|---|---|
incentiveFlag.reason | string | Yes | |
incentiveFlag.programId | string | No | |
incentiveFlag.reservationId | string | No | |
incentiveFlag.maxCents | union | Yes | |
incentiveFlag.reportedCents | integer | Yes | minimum 0. maximum 1000000000000 |
incentiveFlag.maxCents
Variant 1
Type: integer.
Variant 2
Type: null.
Payload schema
json
{
"type": "object",
"properties": {
"orderId": {
"type": "string",
"minLength": 1
},
"eventId": {
"type": "string",
"minLength": 1
},
"customerId": {
"type": "string",
"minLength": 1
},
"currency": {
"type": "string",
"enum": [
"CAD",
"USD",
"EUR",
"GBP"
]
},
"incentiveAppliedCents": {
"type": "integer",
"minimum": 0,
"maximum": 1000000000000
},
"incentiveFlag": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"minLength": 1
},
"programId": {
"type": "string",
"minLength": 1
},
"reservationId": {
"type": "string",
"minLength": 1
},
"maxCents": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 1000000000000
},
{
"type": "null"
}
]
},
"reportedCents": {
"type": "integer",
"minimum": 0,
"maximum": 1000000000000
}
},
"required": [
"reason",
"maxCents",
"reportedCents"
],
"additionalProperties": true
},
"partnerId": {
"type": "string",
"minLength": 1
},
"partnerExternalId": {
"type": "string",
"minLength": 1
}
},
"required": [
"orderId",
"eventId",
"customerId",
"currency",
"incentiveAppliedCents",
"incentiveFlag"
],
"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.