Worker turnover historical
The worker turnover historical endpoint returns turnover metrics broken down by time period. Use this to identify trends in workforce turnover over weeks, months, quarters, or years.
For the full request/response specification, see the API reference.
Period granularity
The period_granularity parameter controls how the data is bucketed:
| Value | Description |
|---|---|
WEEK | One row per week. |
MONTH | One row per calendar month. |
QUARTER | One row per calendar quarter. |
YEAR | One row per calendar year. |
The endpoint always returns 12 periods of historical data, working backwards from the to_date. There is no from_date parameter; if you supply one it is ignored, and the number of periods is fixed at 12.
This endpoint controls its time buckets with period_granularity. The equivalent parameter on the shift fulfilment aggregated endpoint is named time_grouping.
Metrics per period
Each period contains the following fields:
| Field | Definition |
|---|---|
date | Start date of the period. |
granularity | The period granularity (WEEK, MONTH, QUARTER, or YEAR). |
total_turnover | Total turnover events in the period (voluntary + involuntary). |
voluntary_turnover | Worker-initiated departures. |
involuntary_turnover | Employer-initiated departures. |
headcount | Active workers in the period. |
rehires | Workers who returned after a previous turnover event. |
turnover_rate | Turnover rate for the period, expressed as a percentage. |
Headcount reduction events are excluded from turnover totals and rates. See Totals for full definitions of the turnover reason types. Note that the historical endpoint returns a smaller field set than totals (for example, it does not split beginning and ending headcount or report new_hires).
Request parameters
| Parameter | Required | Description |
|---|---|---|
employer_id | Yes | me (recommended) or your numeric employer ID (path parameter). me resolves to the employer associated with your OAuth credentials. |
to_date | Yes | End date in ISO 8601 format (YYYY-MM-DD). The 12-period lookback is calculated from this date. |
period_granularity | Yes | Time period granularity (see table above). |
Example request
curl -X POST "https://client-api.indeedflex.com/v1/reporting/me/reports/worker_turnover/historical?to_date=2026-03-31&period_granularity=MONTH" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '[]'This returns 12 months of turnover data ending March 2026 (April 2025 through March 2026). All 12 periods are always returned; periods with no activity come back with zero values.