Shift settings webhooks are emitted by the Accounts API when shift settings are updated (PUT /shift-settings).
Events
| Action | Event name |
|---|---|
| update shift settings (PUT /shift-settings) | shiftsettings.updated |
Payload example (shiftsettings.updated)
The API emits the event with { providerId, apiKey, data: shiftSettings }. The webhook envelope may expose these as data.providerId, data.apiKey, and data (or data.data) containing the shift settings object.
{
"attemptId": "42b24d4e-fb1d-44e9-af37-bd5db63bc940",
"created": 1673989285,
"data": {
"agencyShiftClosure": true,
"blindCashOut": true,
"defaultShiftLocationId": "52a379a9430c7d4e22000214",
"groupPaymentsByCommercialName": false
},
"event": "shiftsettings.updated",
"id": "01cb993f-c67c-44ba-a090-23e5e36bb541",
"livemode": false
}
Payload fields (shiftsettings.updated)
| Field | Type | Description |
|---|---|---|
| id | string | Webhook event id |
| attemptId | string | Delivery attempt id |
| created | number | Unix timestamp when the event was created |
| event | string | shiftsettings.updated |
| livemode | boolean | Whether the account is in live mode |
| data | object | Shift settings or envelope (providerId, apiKey, data) |
| data.agencyShiftClosure | boolean | Indicates if agency shift closure is enabled |
| data.blindCashOut | boolean | Indicates if the shift can be closed without verifying variances |
| data.groupPaymentsByCommercialName | boolean | Group payments by commercial name |
| data.defaultShiftLocationId | string | Default location id (ObjectId) to open shifts |
| data.forceShiftDeposits | object | Force shift deposits settings (enabled, amountByCurrency, etc.) |
| data.enableStartingBalanceConfirmation | boolean | Initial balance confirmation enabled |
| data.shiftLocationPurchaseLimits | object | Purchase limit per currency for stations |
| data.agencyShiftClosureConfirmation | boolean | Status used for shift location closures |