Skip to content
Fresh 2026

Common Requests

Copy-paste request patterns for the most common Merge operations.

All Unified API requests use these two headers:

Authorization: Bearer <API_KEY>
X-Account-Token: <ACCOUNT_TOKEN>

Read a list (with pagination)

bash
curl "https://api.merge.dev/api/hris/v1/employees?page_size=100" \
  -H "Authorization: Bearer <API_KEY>" \
  -H "X-Account-Token: <ACCOUNT_TOKEN>"

Follow the next cursor in the response for the next page.

Incremental sync

bash
curl "https://api.merge.dev/api/hris/v1/employees?modified_after=2026-01-01T00:00:00Z" \
  -H "Authorization: Bearer <API_KEY>" \
  -H "X-Account-Token: <ACCOUNT_TOKEN>"

Discover required write fields

bash
curl "https://api.merge.dev/api/ats/v1/candidates/meta/post" \
  -H "Authorization: Bearer <API_KEY>" \
  -H "X-Account-Token: <ACCOUNT_TOKEN>"

Create a record

bash
curl -X POST "https://api.merge.dev/api/ats/v1/candidates" \
  -H "Authorization: Bearer <API_KEY>" \
  -H "X-Account-Token: <ACCOUNT_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{ "model": { "first_name": "Jane", "last_name": "Doe" } }'
bash
curl -X POST "https://api.merge.dev/api/integrations/create-link-token" \
  -H "Authorization: Bearer <API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{ "end_user_origin_id": "1234", "end_user_organization_name": "Acme", "end_user_email_address": "user@acme.com", "categories": ["hris"] }'

Passthrough request

bash
curl -X POST "https://api.merge.dev/api/hris/v1/passthrough" \
  -H "Authorization: Bearer <API_KEY>" \
  -H "X-Account-Token: <ACCOUNT_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{ "method": "GET", "path": "/custom-endpoint" }'

Unofficial documentation reference. Built for internal use.