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