Retrieve approved employee timesheet and pay-rule cost data from Deputy via its Resource API for payroll processing/export.
domain: developer.deputy.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Authenticate via Deputy's OAuth 2.0 flow (or a permanent token for a single-install integration) to obtain a Bearer access token scoped to the install.
POST to https://{install}.{geo}.deputy.com/api/v1/resource/Timesheet/QUERY with a search filter (e.g., StartTime greater-than a Unix timestamp) to retrieve timesheet records including break slots, in-progress state, and the PayRuleApproved flag.
POST to the TimesheetPayReturn/QUERY endpoint with a "join": ["TimesheetObject"] parameter to combine pay-rule/cost data with full timesheet detail in a single combined response.
Filter results to timesheets where PayRuleApproved is true before exporting — this is distinct from TimeApproved and is what indicates a timesheet is cleared for payroll.
After export, either mark timesheets as paid (see the Marking a Timesheet as Paid guide) or track the Exported Unix-timestamp field so subsequent pulls don't double-export the same records.
For ongoing sync instead of polling, register a webhook on Timesheet events (see Webhook Overview / Timesheet Webhook Example) to be notified as timesheets are created or approved.
Known gotchas
Both the Timesheet and TimesheetPayReturn Resource API endpoints return only the first 500 records by default — without search filters/pagination you will silently miss records on larger installs.
A timesheet can have TimeApproved=true (manager approved the time) while PayRuleApproved=false (not yet approved for payroll) — exporting on TimeApproved alone pulls timesheets payroll shouldn't see yet.
The separate Timesheet Management Calls (start/end/pause/approve/discard/update) live under a different base path (/api/v1/supervise/timesheet/...) than the Resource API query endpoints (/api/v1/resource/Timesheet/QUERY) — mixing the two up is a common integration mistake.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?