Overview summary response shape
GET /api/v1/wfm/summary aggregates the whole scheduling overview in one response. The blocks below are the same shape the endpoint returns — every count is as-of-query-time, mirroring the list endpoints it reads from, so the KPI chip on the dashboard and the drill-in page it links to never disagree. Pass ?date=YYYY-MM-DD to pin a day; omit it and the date resolves to the tenant’s local operating day (same resolution the intraday panels use). The Node SDK has no typed summary() helper — call it through the generic request() escape hatch below.
Request
operating_date_is_override—truewhen you passed?date=YYYY-MM-DDexplicitly;falsewhen the date resolved to your tenant’s local operating day (the same resolution the intraday staffing and adherence panels use).forecast—nullwhen no forecast rows exist for the day; otherwise per-channel required agent-minutes (required_agents × interval), resolved with the same math the forecast scheduler writes.staffing—nullwhen no roster exists for the day; otherwise the distinct agents rostered, assignment rows, and shift-window minutes (paid-included) resolved in each shift’s local timezone — matching the adherence scorer exactly across DST boundaries and midnight-spanning shifts.requests— the agent self-serve queue; scoped to the caller. Managers (“owner”/“admin”) see org-wide counts; agents see only their own pending requests — the same scoping/wfm/requestsapplies, so the chip total and the page count cannot diverge.adherence— live open events right now, split into currently non-adherent and awaiting-the-scorer buckets.exceptions— adherence exceptions pending supervisor review only; approved/denied/cancelled close them, mirroring/wfm/adherence-exceptions.
Worked request and response samples
Copy the request as written, substitute your own ids, and compare the response envelope — a success in the same shape the numbered error sections spell out.Open a shift for bids
POST /api/v1/wfm/open-shifts