June 29th, 2026
Overview
Tasks and Risks split into separate modules. Risks were previously returned as tasks with type=risk now have a dedicated endpoint. Tasks v3 drops all risk-specific fields and introduces a cleaner model.
The v2 Tasks endpoints (GET /api/v2/pub/tasks and GET /api/v2/pub/tasks/{id}) are deprecated. They remain available during the transition but will be removed on July 27, 2026. Migrate to GET /api/v3/pub/tasks for tasks and to GET /api/v2/pub/risks for risks (formerly GET /api/v2/pub/tasks?type=risk) before that date.
Data latency:During the transition the new endpoints serve data with a delay of up to 30 minutes. After the deprecation date (July 27, 2026) the new endpoints will serve fully up-to-date, real-time data with no delay.
GET /api/v3/pub/tasks
Added
- endpoint added
Differences from v2:
project_ids— renamed and now an array (max 50). v2 usedproject_id, a single string.typefilter — 🗑️ removed. v2 acceptedevent/general/milestone/risk/punch_item. v3 returns only tasks; risks moved toGET /api/v2/pub/risks.statuses— enum values changed:NOT_STARTED→backlogIN_PROGRESS→in-progressUNDER_REVIEW→under-reviewDONE→completedARCHIVED→ 🗑️ removed — archiving now tracked via thearchived_atfieldplanned— new value, no v2 equivalent
priority— enum expanded from 3 to 5 levels:PRIORITY_LOW→lowPRIORITY_MEDIUM→mediumPRIORITY_HIGH→highlowest— newhighest— new
- Renamed response fields:
originator_id→created_bymembers_ids→member_idsdocuments_ids→file_idsball_in_court_ids(array) →ball_in_court_user_id(single, nullable string)
- Removed response fields — 🗑️ risk-specific, moved to
GET /api/v2/pub/risks:type,is_risk,risk_level,risk_to,expected_costs,expected_delay_value,expected_delay_unit,scheduled_variance,mitigation_strategy,base_line_date,anticipated_date,actual_date. - New response fields:
start_date,responsible_company_id,jobsite_location_ids,archived_at,completed_at,tags.
GET /api/v3/pub/tasks/{id}
Added
- endpoint added
Differences from v2: same as listed above for GET /api/v3/pub/tasks.
GET /api/v2/pub/risks
Added
- endpoint added
Differences from v2 (replaces GET /api/v2/pub/tasks?type=risk):
project_ids— renamed and now an array (max 50). The old tasks endpoint usedproject_id, a single string.type=riskfilter — 🗑️ removed. No longer needed — endpoint is risks-only.statuses— same enum change as Tasks v3 (see above).- Renamed response fields:
originator_id→created_bymembers_ids→member_idsdocuments_ids→file_idsball_in_court_ids(array) →ball_in_court_user_id(single, nullable string)expected_costs(integer) →expected_cost(string, nullable)expected_delay_value+expected_delay_unit→expected_delay_days(integer, nullable)
risk_to— one enum value changed:health_and_safety→health-and-safety. Others unchanged:schedule,cost,scope,procurement,quality.- Removed response fields — 🗑️
type,is_risk,base_line_date,anticipated_date,actual_date,scheduled_variance,risk_level. - New response fields:
assessment(severity × probability),severity,probability,start_date,responsible_company_id,jobsite_location_ids,archived_at,completed_at,tags.
GET /api/v2/pub/risks/{id}
Added
- endpoint added
Differences from v2: same as listed above for GET /api/v2/pub/risks.
GET /api/v2/pub/tasks
Endpoint will be removed July 27 2026
GET /api/v2/pub/tasks/{id}
Endpoint will be removed July 27 2026