Skip to content
Developer docs
⌘ K
Dashboard ↗

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

FieldTypeRequiredDetails
type"order.adjusted"Yes
eventIdstringYes
orderIdstringYes
totalCentsintegerNominimum 0. maximum 1000000000000
commissionableCentsintegerNominimum 0. maximum 1000000000000
reasonstringNo
occurredAtstringYesdate-time
partnersarrayYes
partnerIdstringNo
partnerExternalIdstringNo
customerIdstringYes
currency"CAD", "USD", "EUR", "GBP"Yes
previousTotalCentsintegerNominimum 0. maximum 1000000000000
previousCommissionableCentsintegerNominimum 0. maximum 1000000000000
rewardIdsarrayYes
rewardChangeCentsintegerYesminimum -9007199254740991. maximum 9007199254740991

partners[]

FieldTypeRequiredDetails
partners.partnerIdstringYes
partners.partnerExternalIdstringYes

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.