External API

Workforce data, on demand.

Read-only REST endpoints to sync employees, locations, jobs, assignments, employment periods, and time-bank balances from Curya.

Authentication

Bearer token

Rate limit

120 req / min

Base URL

app.curya.co/api/v1

Quick start

Authenticate every request

Send an Authorization: Bearer header using a key starting with curya_live_.

curl -H "Authorization: Bearer curya_live_<your_token>" \
  "https://app.curya.co/api/v1/employees"

Endpoints

Reference

Expand any endpoint to see query parameters, response fields, and copy-paste examples in curl, JavaScript, or Python.

Recipes

Common integration patterns for keeping your systems in sync with Curya.

Full initial load

Call each endpoint and follow the cursor: request the first page, then repeat with cursor=pagination.next_cursor until has_more is false. Store the updated_at of the newest record for later incremental syncs.

Incremental sync

Periodically request each endpoint with updated_since=<last sync instant> to fetch only changed records, and call /deleted-records with since=<same instant> to remove deleted ones.

Where was employee X on date D?

Call /employee-assignments?employee_id=<id>&active_on=<date>. Each row gives the house (location_id) and job (job_id) in force on that date; end_date is inclusive and null means still in force.