{
"_links": {
"self": "/api/payroll/periods?year=2026&include_temporary=false&include_archived=true&brief=true",
"summary": "/api/payroll/summary"
},
"cache": {
"age_seconds": 1800,
"cached_at": "2026-10-07T09:00:00-04:00",
"expires_at": "2026-10-07T13:00:00-04:00",
"force_refreshed": false,
"key_hash": "sha1:9b2e4f6a8c0d1e3f5a7b9c1d3e5f7a9b1c3d5e7f",
"status": "hit",
"ttl_policy": "current_period_4h",
"ttl_remaining_seconds": 12600
},
"filters": {
"brief": true,
"include_archived": true,
"include_temporary": false,
"year": 2026
},
"metadata": {
"extracted_at": "2026-10-07T09:00:00-04:00",
"organisation_id": "construction_demo",
"scope": "include_temporary=False,include_archived=True,brief=True",
"sdk_indexes_used": {
"pay": "Idx 1 full scan + filtre Python"
},
"version": "v3"
},
"periods": [
{
"_links": {
"pays": "/api/payroll/pays?year=2026&period_number=18&is_temporary=false",
"self": "/api/payroll/periods?year=2026&include_temporary=false&include_archived=true&brief=true",
"summary": "/api/payroll/summary?year=2026&period_number=18&include_temporary=false&include_archived=true",
"time_sheets": "/api/payroll/time-sheets?from_date=2026-04-19&to_date=2026-04-25"
},
"employees_count": 42,
"pays_count": 42,
"period_end_max": "2026-04-25",
"period_number": 18,
"period_pay_date_max": "2026-04-30",
"period_pay_date_min": "2026-04-30",
"period_start_min": "2026-04-19",
"year": 2026
}
],
"summary": {
"total_employees": 68,
"total_pays": 1150,
"total_periods": 30,
"years_available": [
2026
]
}
}