For each employer, initiate the Merge Link flow using a Link Token generated via POST to the Merge API; capture and store the returned account_token per employer
Pull the employee list: GET https://api.merge.dev/api/hris/v1/employees with Authorization: Bearer YOUR_API_KEY and X-Account-Token: EMPLOYER_ACCOUNT_TOKEN
Retrieve employment details (job title, department, location, start date) from the employees endpoint; pull pay group and compensation data from the compensation endpoint
Paginate all responses using the next cursor returned in the response envelope until next is null
Normalize fields from Merge's common data model into your analytics schema; flag fields returned as null that differ across providers for human review
Schedule incremental syncs using last_modified_at filters or Merge webhooks to pull only changed records rather than full refreshes
Known gotchas
Merge syncs data from providers on a periodic schedule (not real-time); time-sensitive dashboards should display the last_sync_at timestamp to users so they understand data freshness
Some HRIS providers require the employer admin to grant specific data scopes during the Merge Link flow — if compensation data is missing, the employer may not have granted that permission
The Merge API rate limits vary by plan; large employee datasets should use cursor pagination rather than parallel requests to avoid hitting rate limits
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