Scheduling & Forecasting
Demand drivers, forecasts, staffing rules and needs, shifts, publishing, swaps and availability.
For how this area works day to day, see the Scheduling & forecasting guide.
Webhook events: forecast.updated, schedule.published, shift.changed, shift.swap_requested, shift.swap_approved, open_shift.posted. See Webhooks.
All paths are relative to /api/v1. Key is the scope an integration key needs, People the permission a signed-in person or personal key needs, and Feature the feature switch the endpoint belongs to. See how to read this reference.
- GET
/availabilityList availabilitys
Keyscheduling:readPeopleschedules.readFeaturescheduling - POST
/availabilityCreate an availability
Keyscheduling:writePeopleschedules.manageFeaturescheduling - GET
/availability/{id}Get an availability
Keyscheduling:readPeopleschedules.readFeaturescheduling - PATCH
/availability/{id}Update an availability (partial)
Keyscheduling:writePeopleschedules.manageFeaturescheduling - DELETE
/availability/{id}Archive an availability
Keyscheduling:writePeopleschedules.manageFeaturescheduling - POST
/demand-driversSend demand drivers (appointments, foot traffic, orders…)
Keyscheduling:writePeoplenot allowedFeaturescheduling - GET
/forecastsForecast a demand driver
Keyscheduling:readPeopleforecasts.readFeaturescheduling.forecasting - POST
/forecasts/adjustmentsAdjust a day's forecast by a percentage
Keyscheduling:writePeopleforecasts.manageFeaturescheduling.forecasting - GET
/schedulesA location's schedule with hours and estimated cost
Keyscheduling:readPeopleschedules.readFeaturescheduling - POST
/schedules:publishPublish draft shifts for a location and period
Keyscheduling:writePeopleschedules.publishFeaturescheduling - GET
/shift-swapsList shift swap requests
Keyscheduling:readPeopleschedules.readFeaturescheduling.shift_swaps - POST
/shift-swapsRequest a shift swap
Keyscheduling:writePeopleschedules.manageFeaturescheduling.shift_swaps - POST
/shift-swaps/{id}:approveApprove a swap (reassigns the shift)
Keyscheduling:writePeopleshift_swaps.approveFeaturescheduling.shift_swaps - POST
/shift-swaps/{id}:rejectReject a swap
Keyscheduling:writePeopleshift_swaps.approveFeaturescheduling.shift_swaps - GET
/shiftsList shifts
Keyscheduling:readPeopleschedules.readFeaturescheduling - POST
/shiftsCreate a shift
Keyscheduling:writePeopleschedules.manageFeaturescheduling - GET
/shifts/external/{externalId}Get a shift by external ID
Keyscheduling:readPeopleschedules.readFeaturescheduling - PUT
/shifts/external/{externalId}Create or replace a shift by external ID
Keyscheduling:writePeopleschedules.manageFeaturescheduling - GET
/shifts/{id}Get a shift
Keyscheduling:readPeopleschedules.readFeaturescheduling - PATCH
/shifts/{id}Update a shift (partial)
Keyscheduling:writePeopleschedules.manageFeaturescheduling - POST
/shifts/{id}:claimAssign an open shift to an employee
Keyscheduling:writePeopleschedules.manageFeaturescheduling.open_shifts - GET
/staffing-needsStaff needed vs scheduled, hour by hour
Keyscheduling:readPeopleschedules.readFeaturescheduling - GET
/staffing-rulesList staffing rules
Keyscheduling:readPeopleschedules.readFeaturescheduling - POST
/staffing-rulesCreate a staffing rule
Keyscheduling:writePeoplestaffing_rules.manageFeaturescheduling - GET
/staffing-rules/{id}Get a staffing rule
Keyscheduling:readPeopleschedules.readFeaturescheduling - PATCH
/staffing-rules/{id}Update a staffing rule (partial)
Keyscheduling:writePeoplestaffing_rules.manageFeaturescheduling - DELETE
/staffing-rules/{id}Archive a staffing rule
Keyscheduling:writePeoplestaffing_rules.manageFeaturescheduling