Authenticate using the When I Work login service (POST to https://api.login.wheniwork.com/login) and capture the W-Token.
GET /2/shifts?open=true to retrieve all open (unassigned) shifts available for pickup in the account.
When an employee submits a swap request, POST to /2/requests with a type of swap or drop, referencing the source shift ID and the target shift or user.
Poll GET /2/requests or listen via webhook for request status updates; approved requests transition to an approved status.
On approval, the schedule is updated automatically within When I Work; retrieve the updated shift records to confirm assignment changes.
Propagate schedule changes to any downstream time-and-attendance or payroll system using the updated shift data.
Known gotchas
Shift swap requests require that both employees meet eligibility criteria (position, availability) configured in the account—API submissions that violate these rules may be rejected without a descriptive error.
The W-Token must be included on every request; there is no session cookie fallback when calling the REST API directly.
Open shifts visible to employees depend on location and position filters set in account settings; your API results may differ from what an employee sees in the mobile app.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp