ReferenceAPI referenceOData

OData

List the OData entity sets

GET /odata/v4/

beta since 2026-09-28

Scope: none

The entity sets this token can read. Power BI and Excel start here.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.valuearrayyes
200.value[].kindstringyes
200.value[].namestringyes
200.value[].urlstringyes

What it is

One person’s attendance on a project for a shift — the record that says this worker was on site, who supervised them, where they signed on and for which shift-day. It is the project’s single attendance primitive and the trigger that mints the day’s billable docket.

One person’s place on a project’s roster — the record that says this person is on this job. It is presence, not permission: it decides whose name is offered in pickers and who can open the project at all, while what they may do there comes from their RBAC role.

A job an organisation is running — the site everything on the platform is scoped to. Prestarts, diaries, dockets, photos, plant and claims all belong to exactly one project.

One person who can sign in — an office user, a supervisor, or a worker in the field. Every person belongs to exactly one organisation; a supplier’s worker is a user inside the supplier org, not inside the head contractor’s.

Describe the OData service

GET /odata/v4/$metadata

beta since 2026-09-28

Scope: none

The schema of every entity set, with the filters and sorts each one supports.

Response

FieldTypeRequiredNotes
200.*not JSON

What it is

One person’s attendance on a project for a shift — the record that says this worker was on site, who supervised them, where they signed on and for which shift-day. It is the project’s single attendance primitive and the trigger that mints the day’s billable docket.

One person’s place on a project’s roster — the record that says this person is on this job. It is presence, not permission: it decides whose name is offered in pickers and who can open the project at all, while what they may do there comes from their RBAC role.

A job an organisation is running — the site everything on the platform is scoped to. Prestarts, diaries, dockets, photos, plant and claims all belong to exactly one project.

One person who can sign in — an office user, a supervisor, or a worker in the field. Every person belongs to exactly one organisation; a supplier’s worker is a user inside the supplier org, not inside the head contractor’s.

List Activity log data rows (OData)

GET /odata/v4/activity_log_data_v1

beta since 2026-10-26

Group: Diaries & activities

Custom access scope: activities:write

Activity log data report rows as an OData table for Power BI and Excel. With Custom access, needs activities:write, diaries:read, prestarts:read.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Activity_Descriptionstring, nullablenoActivity Description
200.value[].Actual_Costnumber (double), nullablenoActual Cost
200.value[].Actual_Qtynumber (double), nullablenoActual Qty
200.value[].Cost_Codestring, nullablenoCost Code
200.value[].Cost_Rate_Variancenumber (double), nullablenoCost Rate Variance
200.value[].Diary_Datestring, nullablenoDiary Date
200.value[].Lacroo_Project_IDstring (uuid)noThe row’s project.
200.value[].Lacroo_Row_KeystringnoUnique within one full refresh. Not a record id.
200.value[].Program_Codestring, nullablenoProgram Code
200.value[].Projectstring, nullablenoProject
200.value[].Project_Codestring, nullablenoProject Code
200.value[].Project_Company_IDstring, nullablenoProject Company ID
200.value[].Qty_Variance_A_Tnumber (double), nullablenoQty Variance (A-T)
200.value[].Report_Datestring (date)noThe row’s date: the column the report filters on.
200.value[].Sub_Codestring, nullablenoSub Code
200.value[].Supervisorstring, nullablenoSupervisor
200.value[].Target_Cost_Ratenumber (double), nullablenoTarget Cost Rate
200.value[].Target_Cost_Rate_Unitstring, nullablenoTarget Cost Rate Unit
200.value[].Target_Qtynumber (double), nullablenoTarget Qty
200.value[].Target_Qty_Unitstring, nullablenoTarget Qty Unit

What it is

A named piece of work on a project — “pour slab, grid 4–6” — that a prestart or diary lists for the day, that the office attributes docket hours and materials to, and that carries the cost code the work posts under.

List Combined report data rows (OData)

GET /odata/v4/combined_report_data_v1

beta since 2026-10-26

Group: Dockets & costs

Custom access scope: dockets:read

Combined report data report rows as an OData table for Power BI and Excel. With Custom access, needs dockets:read.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Activity_Cost_Codestring, nullablenoActivity Cost Code
200.value[].Activity_Descriptionstring, nullablenoActivity Description
200.value[].Activity_Program_Codestring, nullablenoActivity Program Code
200.value[].Activity_Sub_Codestring, nullablenoActivity Sub Code
200.value[].Amountnumber (double), nullablenoAmount
200.value[].Approved_Bystring, nullablenoApproved By
200.value[].Approved_Onstring (date-time), nullablenoApproved On
200.value[].Billing_Ratenumber (double), nullablenoBilling Rate
200.value[].Billing_Unitstring, nullablenoBilling Unit
200.value[].Break_Duration_minutesnumber (double), nullablenoBreak Duration (minutes)
200.value[].Break_Start_Timestring (date-time), nullablenoBreak Start Time
200.value[].Checked_Bystring, nullablenoChecked By
200.value[].Checked_Onstring (date-time), nullablenoChecked On
200.value[].Created_Bystring, nullablenoCreated By
200.value[].Created_Datestring (date-time), nullablenoCreated Date
200.value[].Diarystring, nullablenoDiary
200.value[].Docketstring, nullablenoDocket
200.value[].Docket_Datestring (date), nullablenoDocket Date
200.value[].Docket_Notestring, nullablenoDocket Note
200.value[].Docket_Numberstring, nullablenoDocket Number
200.value[].Docket_Statusstring, nullablenoDocket Status
200.value[].Docket_Typestring, nullablenoDocket Type
200.value[].Finish_Timestring (date-time), nullablenoFinish Time
200.value[].Internal_Rate_Card_Descriptionstring, nullablenoInternal Rate Card Description
200.value[].Lacroo_Project_IDstring (uuid)noThe row’s project.
200.value[].Lacroo_Row_KeystringnoUnique within one full refresh. Not a record id.
200.value[].Lacroo_Unique_IDstring, nullablenoLacroo Unique ID
200.value[].Linked_Attachmentstring, nullablenoLinked Attachment
200.value[].Linked_Material_Receiptstring, nullablenoLinked Material Receipt
200.value[].Linked_Work_Itemstring, nullablenoLinked Work Item
200.value[].Modified_Datestring (date-time), nullablenoModified Date
200.value[].PO_Contract_Line_Descriptionstring, nullablenoPO/Contract Line Description
200.value[].PO_Contract_Line_Numbernumber (double), nullablenoPO/Contract Line Number
200.value[].PO_Contract_Numberstring, nullablenoPO/Contract Number
200.value[].Prestart_Duration_minutesnumber (double), nullablenoPrestart Duration (minutes)
200.value[].Prestart_PO_Contract_Descriptionstring, nullablenoPrestart PO/Contract Description
200.value[].Prestart_PO_Contract_Line_Numbernumber (double), nullablenoPrestart PO/Contract Line Number
200.value[].Prestart_PO_Contract_Numberstring, nullablenoPrestart PO/Contract Number
200.value[].Projectstring, nullablenoProject
200.value[].Project_Contract_Nostring, nullablenoProject Contract No.
200.value[].Project_Namestring, nullablenoProject Name
200.value[].Qtynumber (double), nullablenoQty
200.value[].Rates_Data_Sourcestring, nullablenoRates Data Source
200.value[].Report_Datestring (date)noThe row’s date: the column the report filters on.
200.value[].Resourcestring, nullablenoResource
200.value[].Start_Timestring, nullablenoStart Time
200.value[].Subcontractor_Upload_IDstring, nullablenoSubcontractor Upload ID
200.value[].Submitted_Bystring, nullablenoSubmitted By
200.value[].Submitted_Onstring (date-time), nullablenoSubmitted On
200.value[].Supervisorstring, nullablenoSupervisor
200.value[].Supplier_Namestring, nullablenoSupplier Name
200.value[].Tagged_Issue_IDstring, nullablenoTagged Issue ID
200.value[].Typestring, nullablenoType
200.value[].Uploaded_to_ERPboolean, nullablenoUploaded to ERP
200.value[]._idstring, nullableno_id

What it is

A billable record of work performed by a supplier’s worker or equipment on a project shift — the atom of the money chain.

A material delivery charged on a docket — the load of aggregate, the pallet of blocks, the drum of emulsion — with the quantity received and the contract rate it was priced at.

List member fields (OData)

GET /odata/v4/member_fields

beta since 2026-09-28

Group: Lists

Custom access scope: reports:read

Member fields as an OData collection for Power BI and Excel. Needs the prestarts:read scope as well.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$expandquerystringnoLinked records to include, one level.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].apprenticestring, nullableno
200.value[].atsistring, nullablenoNeeds personal:diversity.
200.value[].beakon_idstring, nullableno
200.value[].date_of_birthstring (date), nullablenoNeeds personal:diversity.
200.value[].genderstring, nullablenoNeeds personal:diversity.
200.value[].idstring (uuid)no
200.value[].joined_atstring (date-time)no
200.value[].language_groupstring, nullablenoNeeds personal:diversity.
200.value[].other_fieldsstring, nullablenoNeeds personal:diversity.
200.value[].post_codestring, nullablenoNeeds personal:contact.
200.value[].projectobject, nullablenoPresent with $expand.
200.value[].project.award_datestring (date), nullableno
200.value[].project.clientstring, nullableno
200.value[].project.completion_datestring (date), nullableno
200.value[].project.core_idstringno
200.value[].project.created_atstring (date-time)no
200.value[].project.idstring (uuid)no
200.value[].project.namestringno
200.value[].project.statusstringno
200.value[].project.timezonestringno
200.value[].project.updated_atstring (date-time)no
200.value[].project_idstring (uuid)no
200.value[].traineestring, nullableno
200.value[].updated_atstring (date-time)no
200.value[].verified_atstring (date-time), nullableno
200.value[].workerobject, nullablenoPresent with $expand.
200.value[].worker.beakon_codestring, nullablenoBeakon’s record ID.
200.value[].worker.beakon_idstring, nullablenoThe worker’s Beakon ID.
200.value[].worker.created_atstring (date-time)no
200.value[].worker.emailstringnoNeeds personal:contact.
200.value[].worker.home_org_idstring (uuid)no
200.value[].worker.idstring (uuid)no
200.value[].worker.namestringno
200.value[].worker.phonestring, nullablenoNeeds personal:contact.
200.value[].worker.statusstringno
200.value[].worker.supplier_namestring, nullableno
200.value[].worker.supplier_org_idstring (uuid), nullableno
200.value[].worker.updated_atstring (date-time)no
200.value[].worker.worker_typestring, nullableno
200.value[].worker_idstring (uuid)no
200.value[].year_of_commencementstring, nullableno

What it is

One person’s place on a project’s roster — the record that says this person is on this job. It is presence, not permission: it decides whose name is offered in pickers and who can open the project at all, while what they may do there comes from their RBAC role.

Count member fields (OData)

GET /odata/v4/member_fields/$count

beta since 2026-09-28

Group: Lists

Custom access scope: reports:read

How many member fields match the $filter, as plain text. Needs the prestarts:read scope as well.

Parameters

NameInTypeRequiredDescription
$filterquerystringnoAn OData filter on the filterable properties.

Response

FieldTypeRequiredNotes
200.*not JSON

What it is

One person’s place on a project’s roster — the record that says this person is on this job. It is presence, not permission: it decides whose name is offered in pickers and who can open the project at all, while what they may do there comes from their RBAC role.

List projects (OData)

GET /odata/v4/projects

beta since 2026-09-28

Group: Lists

Custom access scope: projects:read

Projects as an OData collection for Power BI and Excel.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].award_datestring (date), nullableno
200.value[].clientstring, nullableno
200.value[].completion_datestring (date), nullableno
200.value[].core_idstringno
200.value[].created_atstring (date-time)no
200.value[].idstring (uuid)no
200.value[].namestringno
200.value[].statusstringno
200.value[].timezonestringno
200.value[].updated_atstring (date-time)no

What it is

A job an organisation is running — the site everything on the platform is scoped to. Prestarts, diaries, dockets, photos, plant and claims all belong to exactly one project.

Count projects (OData)

GET /odata/v4/projects/$count

beta since 2026-09-28

Group: Lists

Custom access scope: projects:read

How many projects match the $filter, as plain text.

Parameters

NameInTypeRequiredDescription
$filterquerystringnoAn OData filter on the filterable properties.

Response

FieldTypeRequiredNotes
200.*not JSON

What it is

A job an organisation is running — the site everything on the platform is scoped to. Prestarts, diaries, dockets, photos, plant and claims all belong to exactly one project.

List Activities Report rows (OData)

GET /odata/v4/report_activities_report_v1

beta since 2026-10-26

Group: Diaries & activities

Custom access scope: activities:write

Activities Report report rows as an OData table for Power BI and Excel. With Custom access, needs activities:write, diaries:read, prestarts:read.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Activity_Descriptionstring, nullablenoActivity Description
200.value[].Activity_Lacroo_IDstring, nullablenoActivity Lacroo ID
200.value[].Actual_Costnumber (double), nullablenoActual Cost
200.value[].Actual_Qtynumber (double), nullablenoActual Qty
200.value[].Cost_Codestring, nullablenoCost Code
200.value[].Cost_Code_Descriptionstring, nullablenoCost Code Description
200.value[].Cost_Rate_Variancenumber (double), nullablenoCost Rate Variance
200.value[].Diary_Datestring, nullablenoDiary Date
200.value[].Lacroo_Project_IDstring (uuid)noThe row’s project.
200.value[].Lacroo_Row_KeystringnoUnique within one full refresh. Not a record id.
200.value[].Program_Codestring, nullablenoProgram Code
200.value[].Projectstring, nullablenoProject
200.value[].Qty_Variance_A_Tnumber (double), nullablenoQty Variance (A-T)
200.value[].Report_Datestring (date)noThe row’s date: the column the report filters on.
200.value[].Sub_Codestring, nullablenoSub Code
200.value[].Supervisorstring, nullablenoSupervisor
200.value[].Target_Cost_Ratenumber (double), nullablenoTarget Cost Rate
200.value[].Target_Cost_Rate_Unitstring, nullablenoTarget Cost Rate Unit
200.value[].Target_Qtynumber (double), nullablenoTarget Qty
200.value[].Target_Qty_Unitstring, nullablenoTarget Qty Unit

What it is

A named piece of work on a project — “pour slab, grid 4–6” — that a prestart or diary lists for the day, that the office attributes docket hours and materials to, and that carries the cost code the work posts under.

List Alerts Matrix rows (OData)

GET /odata/v4/report_alerts_matrix_export_v1

beta since 2026-10-26

Group: Alerts

Custom access scope: alerts:write

Alerts Matrix report rows as an OData table for Power BI and Excel. With Custom access, needs alerts:write.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Acknowledged_Bystring, nullablenoAcknowledged By
200.value[].Acknowledged_Yes_Nostring, nullablenoAcknowledged Yes/No
200.value[].Acknowledgement_Sourcestring, nullablenoAcknowledgement Source
200.value[].Alert_Bulletin_Typestring, nullablenoAlert / Bulletin Type
200.value[].Alert_IDstring, nullablenoAlert ID
200.value[].Alert_Titlestring, nullablenoAlert Title
200.value[].Date_Specified_DD_MM_YYYYstring, nullablenoDate Specified DD/MM/YYYY
200.value[].Date_Specified_Yes_Nostring, nullablenoDate Specified Yes/No
200.value[].Date_Time_Acknowledgedstring, nullablenoDate/Time Acknowledged
200.value[].Issued_Bystring, nullablenoIssued By
200.value[].Issued_On_Datestring, nullablenoIssued On Date
200.value[].Lacroo_Project_IDstring (uuid)noThe row’s project.
200.value[].Lacroo_Row_KeystringnoUnique within one full refresh. Not a record id.
200.value[].Levelstring, nullablenoLevel
200.value[].Mandatory_Yes_Nostring, nullablenoMandatory Yes/No
200.value[].Prestart_Datestring, nullablenoPrestart Date
200.value[].Prestart_IDstring, nullablenoPrestart ID
200.value[].Projectstring, nullablenoProject
200.value[].Report_Datestring (date)noThe row’s date: the column the report filters on.
200.value[].Supervisorstring, nullablenoSupervisor

What it is

A safety notice or bulletin the office issues to site — a hazard alert, a toolbox notice, an FYI — that turns up on the pre-start briefing for the crew to be told about and, where it is mandatory, to acknowledge.

List Alerts Report rows (OData)

GET /odata/v4/report_alerts_report_v1

beta since 2026-10-26

Group: Alerts

Custom access scope: prestarts:read

Alerts Report report rows as an OData table for Power BI and Excel. With Custom access, needs prestarts:read.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Acknowledged_Yes_Nostring, nullablenoAcknowledged Yes/No
200.value[].Alert_Bulletin_Typestring, nullablenoAlert / Bulletin Type
200.value[].Alert_IDstring, nullablenoAlert ID
200.value[].Alert_Titlestring, nullablenoAlert Title
200.value[].Date_Specified_DD_MM_YYYYstring, nullablenoDate Specified DD/MM/YYYY
200.value[].Date_Specified_Yes_Nostring, nullablenoDate Specified Yes/No
200.value[].Date_Time_Acknowledgedstring, nullablenoDate/Time Acknowledged
200.value[].Issued_Bystring, nullablenoIssued By
200.value[].Issued_On_Datestring, nullablenoIssued On Date
200.value[].Lacroo_Project_IDstring (uuid)noThe row’s project.
200.value[].Lacroo_Row_KeystringnoUnique within one full refresh. Not a record id.
200.value[].Levelstring, nullablenoLevel
200.value[].Mandatory_Yes_Nostring, nullablenoMandatory Yes/No
200.value[].Projectstring, nullablenoProject
200.value[].Report_Datestring (date)noThe row’s date: the column the report filters on.
200.value[].Supervisorstring, nullablenoSupervisor

What it is

A safety notice or bulletin the office issues to site — a hazard alert, a toolbox notice, an FYI — that turns up on the pre-start briefing for the crew to be told about and, where it is mandatory, to acknowledge.

List Combined Report rows (OData)

GET /odata/v4/report_combined_report_v1

beta since 2026-10-26

Group: Dockets & costs

Custom access scope: dockets:read

Combined Report report rows as an OData table for Power BI and Excel. With Custom access, needs dockets:read.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Activity_Cost_Codestring, nullablenoActivity Cost Code
200.value[].Activity_Descriptionstring, nullablenoActivity Description
200.value[].Activity_Program_Codestring, nullablenoActivity Program Code
200.value[].Activity_Sub_Codestring, nullablenoActivity Sub Code
200.value[].Additional_Supervisorsstring, nullablenoAdditional Supervisors
200.value[].Amountnumber (double), nullablenoAmount
200.value[].Approved_Bystring, nullablenoApproved By
200.value[].Approved_Onstring, nullablenoApproved On
200.value[].Billing_Ratenumber (double), nullablenoBilling Rate
200.value[].Billing_Unitstring, nullablenoBilling Unit
200.value[].Break_Durationstring, nullablenoBreak Duration
200.value[].Break_Timestring, nullablenoBreak Time
200.value[].Checked_Bystring, nullablenoChecked By
200.value[].Checked_Onstring, nullablenoChecked On
200.value[].Docket_Datestring, nullablenoDocket Date
200.value[].Docket_Notestring, nullablenoDocket Note
200.value[].Docket_Numberstring, nullablenoDocket Number
200.value[].Docket_Typestring, nullablenoDocket Type
200.value[].Docket_Unique_IDstring, nullablenoDocket Unique ID
200.value[].Finish_Timestring, nullablenoFinish Time
200.value[].Internal_Rate_Card_Descriptionstring, nullablenoInternal Rate Card Description
200.value[].Lacroo_Project_IDstring (uuid)noThe row’s project.
200.value[].Lacroo_Row_KeystringnoUnique within one full refresh. Not a record id.
200.value[].PO_Contract_Line_Descriptionstring, nullablenoPO/Contract Line Description
200.value[].PO_Contract_Line_Numbernumber (double), nullablenoPO/Contract Line Number
200.value[].PO_Contract_Numberstring, nullablenoPO/Contract Number
200.value[].Prestart_Durationstring, nullablenoPrestart Duration
200.value[].Prestart_PO_Contract_Line_Descriptionstring, nullablenoPrestart PO/Contract Line Description
200.value[].Prestart_PO_Contract_Line_Numberstring, nullablenoPrestart PO/Contract Line Number
200.value[].Prestart_PO_Contract_Numberstring, nullablenoPrestart PO/Contract Number
200.value[].Projectstring, nullablenoProject
200.value[].Rate_Source_Datastring, nullablenoRate Source Data
200.value[].Report_Datestring (date)noThe row’s date: the column the report filters on.
200.value[].Resource_Namestring, nullablenoResource Name
200.value[].Shift_Qtystring, nullablenoShift Qty
200.value[].Start_Timestring, nullablenoStart Time
200.value[].Subcontractor_Upload_IDstring, nullablenoSubcontractor Upload ID
200.value[].Submitted_Bystring, nullablenoSubmitted By
200.value[].Submitted_Whenstring, nullablenoSubmitted When
200.value[].Supervisorstring, nullablenoSupervisor
200.value[].Supplierstring, nullablenoSupplier
200.value[].Tagged_Issuestring, nullablenoTagged Issue
200.value[].Typestring, nullablenoType
200.value[].Unit_Qtynumber (double), nullablenoUnit Qty
200.value[].Upload_to_ERPstring, nullablenoUpload to ERP

What it is

A billable record of work performed by a supplier’s worker or equipment on a project shift — the atom of the money chain.

A material delivery charged on a docket — the load of aggregate, the pallet of blocks, the drum of emulsion — with the quantity received and the contract rate it was priced at.

List Cost allocation rows (OData)

GET /odata/v4/report_cost_allocation_v1

beta since 2026-10-26

Group: Dockets & costs

Custom access scope: reports:read

Cost allocation report rows as an OData table for Power BI and Excel. With Custom access, needs dockets:read, reports:read. Each row’s totals cover the requested Report_Date range. Refresh this table in full.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Allocated_Amountstring, nullablenoAllocated Amount
200.value[].Allocated_Qtystring, nullablenoAllocated Qty
200.value[].Codestring, nullablenoCode
200.value[].Committed_Amountstring, nullablenoCommitted Amount
200.value[].Committed_Qtystring, nullablenoCommitted Qty
200.value[].Contributing_Docket_IDsstring, nullablenoContributing Docket IDs
200.value[].Descriptionstring, nullablenoDescription
200.value[].Lacroo_Project_IDstring (uuid)noThe row’s project.
200.value[].Lacroo_Row_KeystringnoUnique within one full refresh. Not a record id.
200.value[].Lacroo_Supplier_Org_IDstring (uuid)noThe row’s supplier.
200.value[].Line_Numberstring, nullablenoLine Number
200.value[].Orphanedstring, nullablenoOrphaned
200.value[].PM_Line_IDstring, nullablenoPM Line ID
200.value[].Range_Fromstring (date)noThe first day the row’s totals cover: the requested range.
200.value[].Range_Tostring (date)noThe last day the row’s totals cover: the requested range.
200.value[].Report_Datestring (date)noThe last day of the requested range (Range_To).
200.value[].Unitstring, nullablenoUnit
200.value[].Used_Amountstring, nullablenoUsed Amount
200.value[].Used_Qtystring, nullablenoUsed Qty
200.value[].Variancestring, nullablenoVariance

What it is

A billable record of work performed by a supplier’s worker or equipment on a project shift — the atom of the money chain.

List Dayworks Report Export rows (OData)

GET /odata/v4/report_dayworks_report_v1

beta since 2026-10-26

Group: Dockets & costs

Custom access scope: dockets:read

Dayworks Report Export report rows as an OData table for Power BI and Excel. With Custom access, needs dockets:read.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Activity_Cost_Codestring, nullablenoActivity Cost Code
200.value[].Activity_Descriptionstring, nullablenoActivity Description
200.value[].Activity_Program_Codestring, nullablenoActivity Program Code
200.value[].Activity_Sub_Codestring, nullablenoActivity Sub Code
200.value[].Approved_Bystring, nullablenoApproved By
200.value[].Approved_Onstring, nullablenoApproved On
200.value[].Break_Durationstring, nullablenoBreak Duration
200.value[].Break_Timestring, nullablenoBreak Time
200.value[].Checked_Bystring, nullablenoChecked By
200.value[].Checked_Onstring, nullablenoChecked On
200.value[].Day_Works_Amountstring, nullablenoDay Works Amount
200.value[].Day_Works_Descriptionstring, nullablenoDay Works Description
200.value[].Day_Works_Qtystring, nullablenoDay Works Qty
200.value[].Day_Works_Ratestring, nullablenoDay Works Rate
200.value[].Day_Works_Unitstring, nullablenoDay Works Unit
200.value[].Docket_Datestring, nullablenoDocket Date
200.value[].Docket_Notestring, nullablenoDocket Note
200.value[].Docket_Numberstring, nullablenoDocket Number
200.value[].Docket_Photosstring, nullablenoDocket Photos
200.value[].Docket_Statusstring, nullablenoDocket Status
200.value[].Docket_Typestring, nullablenoDocket Type
200.value[].Docket_Unique_IDstring, nullablenoDocket Unique ID
200.value[].Docket_Unit_Qtystring, nullablenoDocket Unit Qty
200.value[].Finish_Timestring, nullablenoFinish Time
200.value[].Lacroo_Project_IDstring (uuid)noThe row’s project.
200.value[].Lacroo_Row_KeystringnoUnique within one full refresh. Not a record id.
200.value[].Report_Datestring (date)noThe row’s date: the column the report filters on.
200.value[].Resource_Name_Astring, nullablenoResource Name A
200.value[].Resource_Name_Bstring, nullablenoResource Name B
200.value[].Start_Timestring, nullablenoStart Time
200.value[].Submitted_Bystring, nullablenoSubmitted By
200.value[].Submitted_Whenstring, nullablenoSubmitted When
200.value[].Supplierstring, nullablenoSupplier
200.value[].Tagged_Issuestring, nullablenoTagged Issue

What it is

A billable record of work performed by a supplier’s worker or equipment on a project shift — the atom of the money chain.

List Daily Diaries rows (OData)

GET /odata/v4/report_diary_export_v1

beta since 2026-10-26

Group: Diaries & activities

Custom access scope: diaries:read

Daily Diaries report rows as an OData table for Power BI and Excel. With Custom access, needs diaries:read.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Activity_Descriptionstring, nullablenoActivity Description
200.value[].Diary_Datestring, nullablenoDiary Date
200.value[].Diary_Savedstring, nullablenoDiary Saved
200.value[].Diary_Submittedstring, nullablenoDiary Submitted
200.value[].Lacroo_Project_IDstring (uuid)noThe row’s project.
200.value[].Lacroo_Row_KeystringnoUnique within one full refresh. Not a record id.
200.value[].Other_Fieldsstring, nullablenoNeeds personal:diversity.
200.value[].Projectstring, nullablenoProject
200.value[].Report_Datestring (date)noThe row’s date: the column the report filters on.
200.value[].Site_Locationstring, nullablenoSite Location
200.value[].Supervisorstring, nullablenoSupervisor
200.value[].Visitorsstring, nullablenoVisitors
200.value[].Weather_Observationsstring, nullablenoWeather Observations

What it is

The supervisor’s daily shift record — one per supervisor per project per date per shift — evidencing what actually happened on site.

List Labour & Plant Dockets rows (OData)

GET /odata/v4/report_dockets_export_v1

beta since 2026-10-26

Group: Dockets & costs

Custom access scope: dockets:read

Labour & Plant Dockets report rows as an OData table for Power BI and Excel. With Custom access, needs dockets:read.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Activity_Cost_Codestring, nullablenoActivity Cost Code
200.value[].Activity_Descriptionstring, nullablenoActivity Description
200.value[].Activity_Program_Codestring, nullablenoActivity Program Code
200.value[].Activity_Sub_Codestring, nullablenoActivity Sub Code
200.value[].Additional_Supervisorsstring, nullablenoAdditional Supervisors
200.value[].Amountnumber (double), nullablenoAmount
200.value[].Approved_Bystring, nullablenoApproved By
200.value[].Approved_Onstring, nullablenoApproved On
200.value[].Break_Durationstring, nullablenoBreak Duration
200.value[].Break_Timestring, nullablenoBreak Time
200.value[].Checked_Bystring, nullablenoChecked By
200.value[].Checked_Onstring, nullablenoChecked On
200.value[].Daywork_Amountnumber (double), nullablenoDaywork Amount
200.value[].Daywork_Descriptionstring, nullablenoDaywork Description
200.value[].Daywork_Qtynumber (double), nullablenoDaywork Qty
200.value[].Daywork_Ratenumber (double), nullablenoDaywork Rate
200.value[].Daywork_Unitstring, nullablenoDaywork Unit
200.value[].Docket_Datestring, nullablenoDocket Date
200.value[].Docket_Notestring, nullablenoDocket Note
200.value[].Docket_Numberstring, nullablenoDocket Number
200.value[].Docket_Statusstring, nullablenoDocket Status
200.value[].Docket_Typestring, nullablenoDocket Type
200.value[].Docket_Unique_IDstring, nullablenoDocket Unique ID
200.value[].Finish_Timestring, nullablenoFinish Time
200.value[].GRN_Pushedstring, nullablenoGRN Pushed
200.value[].Lacroo_Project_IDstring (uuid)noThe row’s project.
200.value[].Lacroo_Row_KeystringnoUnique within one full refresh. Not a record id.
200.value[].PO_Contract_Numberstring, nullablenoPO/Contract Number
200.value[].PO_Line_Numbernumber (double), nullablenoPO Line Number
200.value[].Qtynumber (double), nullablenoQty
200.value[].Ratenumber (double), nullablenoRate
200.value[].Rates_Data_Sourcestring, nullablenoRates Data Source
200.value[].Report_Datestring (date)noThe row’s date: the column the report filters on.
200.value[].Resource_Namestring, nullablenoResource Name
200.value[].Start_Timestring, nullablenoStart Time
200.value[].Submitted_Bystring, nullablenoSubmitted By
200.value[].Submitted_Whenstring, nullablenoSubmitted When
200.value[].Supplierstring, nullablenoSupplier
200.value[].Tagged_Issuestring, nullablenoTagged Issue
200.value[].Typestring, nullablenoType
200.value[].Unitstring, nullablenoUnit
200.value[].Work_Descriptionstring, nullablenoWork Description

What it is

A billable record of work performed by a supplier’s worker or equipment on a project shift — the atom of the money chain.

List Inductions Export (Responses Detail) rows (OData)

GET /odata/v4/report_inductions_export_responses_v1

beta since 2026-10-26

Group: Workforce & sign-ons

Custom access scope: inductions:write

Inductions Export (Responses Detail) report rows as an OData table for Power BI and Excel. With Custom access, needs inductions:write.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Answerstring, nullablenoNeeds personal:diversity.
200.value[].Field_Typestring, nullablenoField Type
200.value[].Lacroo_Row_KeystringnoUnique within one full refresh. Not a record id.
200.value[].Projectstring, nullablenoProject
200.value[].Questionstring, nullablenoQuestion
200.value[].Report_Datestring (date)noThe row’s date: the column the report filters on.
200.value[].Rolestring, nullablenoRole
200.value[].Sign_On_Datestring, nullablenoSign On Date
200.value[].Sign_On_IDstring, nullablenoSign-On ID
200.value[].Sign_On_Timestring, nullablenoSign On Time
200.value[].Signeestring, nullablenoSignee

What it is

One visitor’s completed site induction — who they are, who they work for, what they inducted as, what they declared, and the digital site pass they were issued. It is the register a site shows when asked who has been inducted.

List Inductions Export (Sign Ons) rows (OData)

GET /odata/v4/report_inductions_export_v1

beta since 2026-10-26

Group: Workforce & sign-ons

Custom access scope: inductions:write

Inductions Export (Sign Ons) report rows as an OData table for Power BI and Excel. With Custom access, needs inductions:write.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Lacroo_Project_IDstring (uuid), nullablenoThe row’s project.
200.value[].Lacroo_Row_KeystringnoUnique within one full refresh. Not a record id.
200.value[].Orgstring, nullablenoOrg
200.value[].Other_Fieldsstring, nullablenoNeeds personal:diversity.
200.value[].Projectstring, nullablenoProject
200.value[].Report_Datestring (date)noThe row’s date: the column the report filters on.
200.value[].Rolestring, nullablenoRole
200.value[].Sign_On_Datestring, nullablenoSign On Date
200.value[].Sign_On_IDstring, nullablenoSign-On ID
200.value[].Sign_On_Timestring, nullablenoSign On Time
200.value[].Signeestring, nullablenoSignee
200.value[].Titlestring, nullablenoTitle
200.value[]._Answeredinteger (int64), nullableno# Answered
200.value[]._Questionsinteger (int64), nullableno# Questions

What it is

One visitor’s completed site induction — who they are, who they work for, what they inducted as, what they declared, and the digital site pass they were issued. It is the register a site shows when asked who has been inducted.

List Issues Log rows (OData)

GET /odata/v4/report_issues_export_v1

beta since 2026-10-26

Group: Issues & variations

Custom access scope: issues:read

Issues Log report rows as an OData table for Power BI and Excel. With Custom access, needs issues:read.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Agreed_Datestring, nullablenoAgreed Date
200.value[].Agreed_Valuestring, nullablenoAgreed Value
200.value[].Assessed_Datestring, nullablenoAssessed Date
200.value[].Assessed_Valuestring, nullablenoAssessed Value
200.value[].Causestring, nullablenoCause
200.value[].Cost_Codestring, nullablenoCost Code
200.value[].Cost_Impactstring, nullablenoCost Impact
200.value[].EOT_Referencestring, nullablenoEOT Reference
200.value[].Identified_Datestring, nullablenoIdentified Date
200.value[].Impactstring, nullablenoImpact
200.value[].Issue_Headingstring, nullablenoIssue Heading
200.value[].Issue_IDstring, nullablenoIssue ID
200.value[].Issue_Statusstring, nullablenoIssue Status
200.value[].Issue_Typestring, nullablenoIssue Type
200.value[].Lacroo_Project_IDstring (uuid)noThe row’s project.
200.value[].Lacroo_Row_KeystringnoUnique within one full refresh. Not a record id.
200.value[].Locationstring, nullablenoLocation
200.value[].Notified_Datestring, nullablenoNotified Date
200.value[].Notified_Valuestring, nullablenoNotified Value
200.value[].Program_Codestring, nullablenoProgram Code
200.value[].Projectstring, nullablenoProject
200.value[].Raised_Bystring, nullablenoRaised By
200.value[].Raised_Datestring, nullablenoRaised Date
200.value[].Raised_Valuestring, nullablenoRaised Value
200.value[].Reference_Documentstring, nullablenoReference Document
200.value[].Report_Datestring (date)noThe row’s date: the column the report filters on.
200.value[].Submitted_Datestring, nullablenoSubmitted Date
200.value[].Submitted_Valuestring, nullablenoSubmitted Value
200.value[].Supervisorstring, nullablenoSupervisor
200.value[].Time_Impactstring, nullablenoTime Impact
200.value[].isEOTstring, nullablenoisEOT

What it is

A variation, delay or claimable event raised on a project and carried through its commercial lifecycle — Identified, Notified, Submitted, Assessed, Agreed — with the dollars and the days it is worth recorded at each of those stages. This is the register the contracts team defends a claim from.

List Issues & variations rows (OData)

GET /odata/v4/report_issues_variations_v1

beta since 2026-10-26

Group: Issues & variations

Custom access scope: reports:read

Issues & variations report rows as an OData table for Power BI and Excel. With Custom access, needs issues:read, reports:read.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Agreed_Datestring, nullablenoAgreed Date
200.value[].Agreed_Daysstring, nullablenoAgreed Days
200.value[].Agreed_Valuestring, nullablenoAgreed Value
200.value[].Assessed_Datestring, nullablenoAssessed Date
200.value[].Assessed_Daysstring, nullablenoAssessed Days
200.value[].Assessed_Valuestring, nullablenoAssessed Value
200.value[].Causestring, nullablenoCause
200.value[].Client_Referencestring, nullablenoClient Reference
200.value[].Comment_Actionstring, nullablenoComment/Action
200.value[].Comment_Countstring, nullablenoComment Count
200.value[].Cost_Codestring, nullablenoCost Code
200.value[].Cost_Code_Descriptionstring, nullablenoCost Code Description
200.value[].Cost_Impactstring, nullablenoCost Impact
200.value[].Created_Atstring, nullablenoCreated At
200.value[].Docket_Countstring, nullablenoDocket Count
200.value[].Docket_Numbersstring, nullablenoDocket Numbers
200.value[].Docket_Valuestring, nullablenoDocket Value
200.value[].EOT_Linked_Issuestring, nullablenoEOT-Linked Issue
200.value[].EOT_Referencestring, nullablenoEOT Reference
200.value[].ERP_Referencestring, nullablenoERP Reference
200.value[].File_Countstring, nullablenoFile Count
200.value[].Headingstring, nullablenoHeading
200.value[].Identified_Datestring, nullablenoIdentified Date
200.value[].Identified_Daysstring, nullablenoIdentified Days
200.value[].Identified_Valuestring, nullablenoIdentified Value
200.value[].Impactstring, nullablenoImpact
200.value[].Is_EOTstring, nullablenoIs EOT
200.value[].Issue_IDstring, nullablenoIssue ID
200.value[].Lacroo_Project_IDstring (uuid)noThe row’s project.
200.value[].Lacroo_Row_KeystringnoUnique within one full refresh. Not a record id.
200.value[].Last_Changed_Atstring, nullablenoLast Changed At
200.value[].Last_Changed_Bystring, nullablenoLast Changed By
200.value[].Last_Transitionstring, nullablenoLast Transition
200.value[].Locationstring, nullablenoLocation
200.value[].Notification_Deadlinestring, nullablenoNotification Deadline
200.value[].Notified_Datestring, nullablenoNotified Date
200.value[].Notified_Daysstring, nullablenoNotified Days
200.value[].Notified_In_Timestring, nullablenoNotified In Time
200.value[].Notified_Valuestring, nullablenoNotified Value
200.value[].Other_Fieldsstring, nullablenoNeeds personal:diversity.
200.value[].Owner_Assigneestring, nullablenoOwner (Assignee)
200.value[].Raised_Bystring, nullablenoRaised By
200.value[].Reference_Documentstring, nullablenoReference Document
200.value[].Report_Datestring (date)noThe row’s date: the column the report filters on.
200.value[].Sourcestring, nullablenoSource
200.value[].Stagestring, nullablenoStage
200.value[].Statusstring, nullablenoStatus
200.value[].Status_Change_Countstring, nullablenoStatus-Change Count
200.value[].Submitted_Datestring, nullablenoSubmitted Date
200.value[].Submitted_Daysstring, nullablenoSubmitted Days
200.value[].Submitted_Valuestring, nullablenoSubmitted Value
200.value[].Supervisorstring, nullablenoSupervisor
200.value[].Time_Impact_daysstring, nullablenoTime Impact days
200.value[].Typestring, nullablenoType
200.value[].Updated_Atstring, nullablenoUpdated At

What it is

A variation, delay or claimable event raised on a project and carried through its commercial lifecycle — Identified, Notified, Submitted, Assessed, Agreed — with the dollars and the days it is worth recorded at each of those stages. This is the register the contracts team defends a claim from.

List Material Dockets rows (OData)

GET /odata/v4/report_material_dockets_export_v1

beta since 2026-10-26

Group: Dockets & costs

Custom access scope: dockets:read

Material Dockets report rows as an OData table for Power BI and Excel. With Custom access, needs dockets:read.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Activitystring, nullablenoActivity
200.value[].Amountstring, nullablenoAmount
200.value[].Construction_Lotstring, nullablenoConstruction Lot
200.value[].Cost_Codestring, nullablenoCost Code
200.value[].Delivery_Locationstring, nullablenoDelivery Location
200.value[].Diary_Datestring, nullablenoDiary Date
200.value[].Lacroo_Project_IDstring (uuid)noThe row’s project.
200.value[].Lacroo_Row_KeystringnoUnique within one full refresh. Not a record id.
200.value[].Line_Item_Descriptionstring, nullablenoLine Item Description
200.value[].PO_Line_Item_Nostring, nullablenoPO Line Item No.
200.value[].PO_Numberstring, nullablenoPO Number
200.value[].Projectstring, nullablenoProject
200.value[].Qtystring, nullablenoQty
200.value[].Ratestring, nullablenoRate
200.value[].Report_Datestring (date)noThe row’s date: the column the report filters on.
200.value[].Source_Locationstring, nullablenoSource Location
200.value[].Supervisorstring, nullablenoSupervisor
200.value[].Unitstring, nullablenoUnit

What it is

A billable record of work performed by a supplier’s worker or equipment on a project shift — the atom of the money chain.

A material delivery charged on a docket — the load of aggregate, the pallet of blocks, the drum of emulsion — with the quantity received and the contract rate it was priced at.

List Onsite Workers rows (OData)

GET /odata/v4/report_onsite_workers_v1

beta since 2026-10-26

Group: Workforce & sign-ons

Custom access scope: signons:read

Onsite Workers report rows as an OData table for Power BI and Excel. With Custom access, needs prestarts:read, signons:read.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Lacroo_Project_IDstring (uuid)noThe row’s project.
200.value[].Lacroo_Row_KeystringnoUnique within one full refresh. Not a record id.
200.value[].Report_Datestring (date)noThe row’s date: the column the report filters on.
200.value[].prestart_datestring, nullablenoprestart_date
200.value[].prestart_locationstring, nullablenoprestart_location
200.value[].resource_typestring, nullablenoresource_type
200.value[].sign_on_timestring, nullablenosign_on_time
200.value[].signeestring, nullablenosignee
200.value[].supervisorstring, nullablenosupervisor
200.value[].supplierstring, nullablenosupplier

What it is

One person’s attendance on a project for a shift — the record that says this worker was on site, who supervised them, where they signed on and for which shift-day. It is the project’s single attendance primitive and the trigger that mints the day’s billable docket.

List Prestart Report rows (OData)

GET /odata/v4/report_prestart_report_v1

beta since 2026-10-26

Group: Workforce & sign-ons

Custom access scope: prestarts:read

Prestart Report report rows as an OData table for Power BI and Excel. With Custom access, needs prestarts:read.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Activity_Descriptionstring, nullablenoActivity Description
200.value[].Details_from_Previous_Shiftstring, nullablenoDetails from Previous Shift
200.value[].General_Businessstring, nullablenoGeneral Business
200.value[].Incident_Alertsstring, nullablenoIncident Alerts
200.value[].Lacroo_Project_IDstring (uuid)noThe row’s project.
200.value[].Lacroo_Row_KeystringnoUnique within one full refresh. Not a record id.
200.value[].Latest_Changes_Onstring, nullablenoLatest Changes On
200.value[].New_Hazardsstring, nullablenoNew Hazards
200.value[].Other_Fieldsstring, nullablenoNeeds personal:diversity.
200.value[].Prestart_Datestring, nullablenoPrestart Date
200.value[].Projectstring, nullablenoProject
200.value[].Published_Onstring, nullablenoPublished On
200.value[].Report_Datestring (date)noThe row’s date: the column the report filters on.
200.value[].Safety_is_My_Waystring, nullablenoSafety is My Way
200.value[].Site_Locationstring, nullablenoSite Location
200.value[].Supervisorstring, nullablenoSupervisor
200.value[].Work_Plannedstring, nullablenoWork Planned

What it is

A pre-shift safety briefing run by a supervisor — workers sign on against it, creating the attendance record the day’s labour hangs off.

List Sign-ons rows (OData)

GET /odata/v4/report_sign_ons_v1

beta since 2026-10-26

Group: Workforce & sign-ons

Custom access scope: reports:read

Sign-ons report rows as an OData table for Power BI and Excel. With Custom access, needs prestarts:read, reports:read.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Break_Duration_minsstring, nullablenoBreak Duration (mins)
200.value[].Break_Start_sstring, nullablenoBreak Start(s)
200.value[].Docket_Createdstring, nullablenoDocket Created
200.value[].Docket_Finishstring, nullablenoDocket Finish
200.value[].Docket_Numberstring, nullablenoDocket Number
200.value[].Docket_Shift_Typestring, nullablenoDocket Shift Type
200.value[].Docket_Startstring, nullablenoDocket Start
200.value[].Docket_Supervisorstring, nullablenoDocket Supervisor
200.value[].Docket_Supplierstring, nullablenoDocket Supplier
200.value[].Lacroo_Project_IDstring (uuid)noThe row’s project.
200.value[].Lacroo_Row_KeystringnoUnique within one full refresh. Not a record id.
200.value[].Other_Fieldsstring, nullablenoNeeds personal:diversity.
200.value[].Prestart_Datestring, nullablenoPrestart Date
200.value[].Prestart_Locationstring, nullablenoPrestart Location
200.value[].Prestart_Timestring, nullablenoPrestart Time
200.value[].Projectstring, nullablenoProject
200.value[].Report_Datestring (date)noThe row’s date: the column the report filters on.
200.value[].Shift_Hours_Grossstring, nullablenoShift Hours (Gross)
200.value[].Shift_Hours_Netstring, nullablenoShift Hours (Net)
200.value[].Shift_Typestring, nullablenoShift Type
200.value[].Sign_on_Datestring, nullablenoSign-on Date
200.value[].Sign_on_Locationstring, nullablenoSign-on Location
200.value[].Sign_on_Timestring, nullablenoSign-on Time
200.value[].Supervisorstring, nullablenoSupervisor
200.value[].Supplierstring, nullablenoSupplier
200.value[].Workerstring, nullablenoWorker

What it is

One person’s attendance on a project for a shift — the record that says this worker was on site, who supervised them, where they signed on and for which shift-day. It is the project’s single attendance primitive and the trigger that mints the day’s billable docket.

List Subcontractor Dockets rows (OData)

GET /odata/v4/report_subcontractor_dockets_export_v1

beta since 2026-10-26

Group: Dockets & costs

Custom access scope: dockets:read

Subcontractor Dockets report rows as an OData table for Power BI and Excel. With Custom access, needs dockets:read.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Activity_Cost_Codestring, nullablenoActivity Cost Code
200.value[].Activity_Descriptionstring, nullablenoActivity Description
200.value[].Activity_Program_Codestring, nullablenoActivity Program Code
200.value[].Activity_Sub_Codestring, nullablenoActivity Sub Code
200.value[].Approved_Bystring, nullablenoApproved By
200.value[].Approved_Onstring, nullablenoApproved On
200.value[].Billing_Rate_per_Unitnumber (double), nullablenoBilling Rate per Unit
200.value[].Billing_Unitstring, nullablenoBilling Unit
200.value[].Checked_Bystring, nullablenoChecked By
200.value[].Checked_Onstring, nullablenoChecked On
200.value[].Docket_Amountnumber (double), nullablenoDocket Amount
200.value[].Docket_Datestring, nullablenoDocket Date
200.value[].Docket_Notestring, nullablenoDocket Note
200.value[].Docket_Numberstring, nullablenoDocket Number
200.value[].Docket_Photosstring, nullablenoDocket Photos
200.value[].Docket_Typestring, nullablenoDocket Type
200.value[].Docket_Unique_IDstring, nullablenoDocket Unique ID
200.value[].Docket_Unit_Qtynumber (double), nullablenoDocket Unit Qty
200.value[].Internal_Rate_Card_Descriptionstring, nullablenoInternal Rate Card Description
200.value[].Lacroo_Project_IDstring (uuid)noThe row’s project.
200.value[].Lacroo_Row_KeystringnoUnique within one full refresh. Not a record id.
200.value[].PO_Line_Descriptionstring, nullablenoPO Line Description
200.value[].PO_Line_Numberinteger (int64), nullablenoPO Line Number
200.value[].PO_Numberstring, nullablenoPO Number
200.value[].Report_Datestring (date)noThe row’s date: the column the report filters on.
200.value[].Submitted_Bystring, nullablenoSubmitted By
200.value[].Submitted_Whenstring, nullablenoSubmitted When
200.value[].Supplierstring, nullablenoSupplier
200.value[].Tagged_Issuestring, nullablenoTagged Issue

What it is

A billable record of work performed by a supplier’s worker or equipment on a project shift — the atom of the money chain.

List Workforce Log rows (OData)

GET /odata/v4/report_workforce_log_v1

beta since 2026-10-26

Group: Workforce & sign-ons

Custom access scope: signons:read

Workforce Log report rows as an OData table for Power BI and Excel. With Custom access, needs prestarts:read, signons:read.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Aboriginal_or_Torres_Strait_Islanderstring, nullablenoNeeds personal:diversity.
200.value[].Apprenticestring, nullablenoApprentice
200.value[].Beakon_IDstring, nullablenoBeakon ID
200.value[].Date_Of_Birthstring, nullablenoNeeds personal:diversity.
200.value[].Emailstring, nullablenoNeeds personal:contact.
200.value[].Genderstring, nullablenoNeeds personal:diversity.
200.value[].Lacroo_Project_IDstring (uuid)noThe row’s project.
200.value[].Lacroo_Row_KeystringnoUnique within one full refresh. Not a record id.
200.value[].Language_Groupstring, nullablenoNeeds personal:diversity.
200.value[].Phone_Numberstring, nullablenoNeeds personal:contact.
200.value[].Post_Codestring, nullablenoNeeds personal:contact.
200.value[].Prestart_Datestring, nullablenoPrestart Date
200.value[].Prestart_Locationstring, nullablenoPrestart Location
200.value[].Prestart_Timestring, nullablenoPrestart Time
200.value[].Projectstring, nullablenoProject
200.value[].Project_Codestring, nullablenoProject Code
200.value[].Project_Company_IDstring, nullablenoProject Company ID
200.value[].Report_Datestring (date)noThe row’s date: the column the report filters on.
200.value[].Shift_Typestring, nullablenoShift Type
200.value[].Sign_On_Datestring, nullablenoSign On Date
200.value[].Sign_On_Namestring, nullablenoSign On Name
200.value[].Sign_On_Rolestring, nullablenoSign On Role
200.value[].Sign_On_Timestring, nullablenoSign On Time
200.value[].Supervisorstring, nullablenoSupervisor
200.value[].Supplierstring, nullablenoSupplier
200.value[].Traineestring, nullablenoTrainee
200.value[].Unique_IDstring, nullablenoUnique ID
200.value[].Year_Of_Commencementstring, nullablenoYear Of Commencement

What it is

One person’s attendance on a project for a shift — the record that says this worker was on site, who supervised them, where they signed on and for which shift-day. It is the project’s single attendance primitive and the trigger that mints the day’s billable docket.

List sign-ons (OData)

GET /odata/v4/sign_ons

beta since 2026-09-28

Group: Lists

Custom access scope: signons:read

Sign-ons as an OData collection for Power BI and Excel. Needs the prestarts:read scope as well.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$expandquerystringnoLinked records to include, one level.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].core_idstringnoThe Core sign-on id for records moved from Core, else the Lacroo id.
200.value[].created_atstring (date-time)no
200.value[].idstring (uuid)no
200.value[].location_idstring (uuid), nullableno
200.value[].member_fieldsobject, nullablenoPresent with $expand.
200.value[].member_fields.apprenticestring, nullableno
200.value[].member_fields.atsistring, nullablenoNeeds personal:diversity.
200.value[].member_fields.beakon_idstring, nullableno
200.value[].member_fields.date_of_birthstring (date), nullablenoNeeds personal:diversity.
200.value[].member_fields.genderstring, nullablenoNeeds personal:diversity.
200.value[].member_fields.idstring (uuid)no
200.value[].member_fields.joined_atstring (date-time)no
200.value[].member_fields.language_groupstring, nullablenoNeeds personal:diversity.
200.value[].member_fields.other_fieldsstring, nullablenoNeeds personal:diversity.
200.value[].member_fields.post_codestring, nullablenoNeeds personal:contact.
200.value[].member_fields.projectobject, nullablenoPresent with $expand.
200.value[].member_fields.project.award_datestring (date), nullableno
200.value[].member_fields.project.clientstring, nullableno
200.value[].member_fields.project.completion_datestring (date), nullableno
200.value[].member_fields.project.core_idstringno
200.value[].member_fields.project.created_atstring (date-time)no
200.value[].member_fields.project.idstring (uuid)no
200.value[].member_fields.project.namestringno
200.value[].member_fields.project.statusstringno
200.value[].member_fields.project.timezonestringno
200.value[].member_fields.project.updated_atstring (date-time)no
200.value[].member_fields.project_idstring (uuid)no
200.value[].member_fields.traineestring, nullableno
200.value[].member_fields.updated_atstring (date-time)no
200.value[].member_fields.verified_atstring (date-time), nullableno
200.value[].member_fields.workerobject, nullablenoPresent with $expand.
200.value[].member_fields.worker.beakon_codestring, nullablenoBeakon’s record ID.
200.value[].member_fields.worker.beakon_idstring, nullablenoThe worker’s Beakon ID.
200.value[].member_fields.worker.created_atstring (date-time)no
200.value[].member_fields.worker.emailstringnoNeeds personal:contact.
200.value[].member_fields.worker.home_org_idstring (uuid)no
200.value[].member_fields.worker.idstring (uuid)no
200.value[].member_fields.worker.namestringno
200.value[].member_fields.worker.phonestring, nullablenoNeeds personal:contact.
200.value[].member_fields.worker.statusstringno
200.value[].member_fields.worker.supplier_namestring, nullableno
200.value[].member_fields.worker.supplier_org_idstring (uuid), nullableno
200.value[].member_fields.worker.updated_atstring (date-time)no
200.value[].member_fields.worker.worker_typestring, nullableno
200.value[].member_fields.worker_idstring (uuid)no
200.value[].member_fields.year_of_commencementstring, nullableno
200.value[].prestart_idstring (uuid), nullableno
200.value[].projectobject, nullablenoPresent with $expand.
200.value[].project.award_datestring (date), nullableno
200.value[].project.clientstring, nullableno
200.value[].project.completion_datestring (date), nullableno
200.value[].project.core_idstringno
200.value[].project.created_atstring (date-time)no
200.value[].project.idstring (uuid)no
200.value[].project.namestringno
200.value[].project.statusstringno
200.value[].project.timezonestringno
200.value[].project.updated_atstring (date-time)no
200.value[].project_idstring (uuid)no
200.value[].role_keystring, nullableno
200.value[].role_namestring, nullableno
200.value[].shift_datestring (date)noThe shift day on site, in the project’s time zone.
200.value[].shift_typestring, nullableno
200.value[].signed_atstring (date-time)no
200.value[].supervisorobject, nullablenoPresent with $expand.
200.value[].supervisor.beakon_codestring, nullablenoBeakon’s record ID.
200.value[].supervisor.beakon_idstring, nullablenoThe worker’s Beakon ID.
200.value[].supervisor.created_atstring (date-time)no
200.value[].supervisor.emailstringnoNeeds personal:contact.
200.value[].supervisor.home_org_idstring (uuid)no
200.value[].supervisor.idstring (uuid)no
200.value[].supervisor.namestringno
200.value[].supervisor.phonestring, nullablenoNeeds personal:contact.
200.value[].supervisor.statusstringno
200.value[].supervisor.supplier_namestring, nullableno
200.value[].supervisor.supplier_org_idstring (uuid), nullableno
200.value[].supervisor.updated_atstring (date-time)no
200.value[].supervisor.worker_typestring, nullableno
200.value[].supervisor_idstring (uuid), nullableno
200.value[].updated_atstring (date-time)no
200.value[].workerobject, nullablenoPresent with $expand.
200.value[].worker.beakon_codestring, nullablenoBeakon’s record ID.
200.value[].worker.beakon_idstring, nullablenoThe worker’s Beakon ID.
200.value[].worker.created_atstring (date-time)no
200.value[].worker.emailstringnoNeeds personal:contact.
200.value[].worker.home_org_idstring (uuid)no
200.value[].worker.idstring (uuid)no
200.value[].worker.namestringno
200.value[].worker.phonestring, nullablenoNeeds personal:contact.
200.value[].worker.statusstringno
200.value[].worker.supplier_namestring, nullableno
200.value[].worker.supplier_org_idstring (uuid), nullableno
200.value[].worker.updated_atstring (date-time)no
200.value[].worker.worker_typestring, nullableno
200.value[].worker_idstring (uuid)no

What it is

One person’s attendance on a project for a shift — the record that says this worker was on site, who supervised them, where they signed on and for which shift-day. It is the project’s single attendance primitive and the trigger that mints the day’s billable docket.

Count sign-ons (OData)

GET /odata/v4/sign_ons/$count

beta since 2026-09-28

Group: Lists

Custom access scope: signons:read

How many sign-ons match the $filter, as plain text. Needs the prestarts:read scope as well.

Parameters

NameInTypeRequiredDescription
$filterquerystringnoAn OData filter on the filterable properties.

Response

FieldTypeRequiredNotes
200.*not JSON

What it is

One person’s attendance on a project for a shift — the record that says this worker was on site, who supervised them, where they signed on and for which shift-day. It is the project’s single attendance primitive and the trigger that mints the day’s billable docket.

List workers (OData)

GET /odata/v4/workers

beta since 2026-09-28

Group: Lists

Custom access scope: fieldusers:read

Workers as an OData collection for Power BI and Excel.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].beakon_codestring, nullablenoBeakon’s record ID.
200.value[].beakon_idstring, nullablenoThe worker’s Beakon ID.
200.value[].created_atstring (date-time)no
200.value[].emailstringnoNeeds personal:contact.
200.value[].home_org_idstring (uuid)no
200.value[].idstring (uuid)no
200.value[].namestringno
200.value[].phonestring, nullablenoNeeds personal:contact.
200.value[].statusstringno
200.value[].supplier_namestring, nullableno
200.value[].supplier_org_idstring (uuid), nullableno
200.value[].updated_atstring (date-time)no
200.value[].worker_typestring, nullableno

What it is

One person who can sign in — an office user, a supervisor, or a worker in the field. Every person belongs to exactly one organisation; a supplier’s worker is a user inside the supplier org, not inside the head contractor’s.

Count workers (OData)

GET /odata/v4/workers/$count

beta since 2026-09-28

Group: Lists

Custom access scope: fieldusers:read

How many workers match the $filter, as plain text.

Parameters

NameInTypeRequiredDescription
$filterquerystringnoAn OData filter on the filterable properties.

Response

FieldTypeRequiredNotes
200.*not JSON

What it is

One person who can sign in — an office user, a supervisor, or a worker in the field. Every person belongs to exactly one organisation; a supplier’s worker is a user inside the supplier org, not inside the head contractor’s.

List workforce log rows (OData)

GET /odata/v4/workforce_log_v1

beta since 2026-09-28

Group: Workforce & sign-ons

Custom access scope: reports:read

Workforce log rows as an OData collection for Power BI and Excel. Needs the prestarts:read scope as well.

Parameters

NameInTypeRequiredDescription
$countquerybooleannoInclude @odata.count.
$filterquerystringnoAn OData filter on the filterable properties.
$formatquerystringnojson
$orderbyquerystringnoThe declared order, ascending.
$selectquerystringnoComma-separated property names.
$skiptokenquerystringnoThe token from @odata.nextLink.
$topqueryintegernoRows to return in all.

Response

FieldTypeRequiredNotes
200.@odata.contextstringyes
200.@odata.countinteger (int64)no
200.@odata.nextLinkstringno
200.valuearrayyes
200.value[].Aboriginal_or_Torres_Strait_Islanderstring, nullablenoNeeds personal:diversity.
200.value[].Apprenticestring, nullablenoThe worker’s answer on this project.
200.value[].Beakon_IDstring, nullablenoThe worker’s Beakon id.
200.value[].Break_Durationinteger (int64), nullablenoBreak minutes, paid and unpaid.
200.value[].Break_Start_Timestring, nullablenoWhen the first break started.
200.value[].Break_Start_Timesstring, nullablenoEvery break’s start time, in order.
200.value[].Created_Bystring, nullablenoNot recorded.
200.value[].Created_Datestring (date-time)noWhen the sign-on was recorded.
200.value[].Date_Of_Birthstring (date), nullablenoNeeds personal:diversity.
200.value[].Docket_Numberstring, nullablenoThe linked docket’s number.
200.value[].Docket_Statusstring, nullablenoThe linked docket’s status.
200.value[].Emailstring, nullablenoNeeds personal:contact.
200.value[].Finish_Timestring, nullablenoThe docket’s finish time.
200.value[].Genderstring, nullablenoNeeds personal:diversity.
200.value[].Gross_Hoursnumber (double), nullablenoGross hours on the docket.
200.value[].Lacroo_Project_IDstring (uuid)noThe Lacroo project id.
200.value[].Lacroo_Sign_On_IDstring (uuid)noThe Lacroo sign-on id.
200.value[].Lacroo_Worker_IDstring (uuid)noThe Lacroo worker id.
200.value[].Language_Groupstring, nullablenoNeeds personal:diversity.
200.value[].Linked_Docketstring, nullablenoThe Core docket id, or the Lacroo docket id.
200.value[].Modified_Datestring (date-time)noThe last change to the sign-on, its docket, the worker’s answers or the worker.
200.value[].Phone_Numberstring, nullablenoNeeds personal:contact.
200.value[].Post_Codestring, nullablenoNeeds personal:contact.
200.value[].Prestart_Datestring (date), nullablenoThe prestart’s date.
200.value[].Prestart_Locationstring, nullablenoWhere the prestart was held.
200.value[].Prestart_Timestring, nullablenoThe prestart’s start time.
200.value[].ProjectstringnoThe Core project id, or the Lacroo project id.
200.value[].Project_Company_IDstring, nullablenoThe company id of the docket’s stage.
200.value[].Project_Contract_Nostring, nullablenoThe contract number of the docket’s stage.
200.value[].Project_NamestringnoThe project’s name.
200.value[].Project_TimezonestringnoThe project’s time zone.
200.value[].Record_SourcestringnoCore for records moved from Core, else Lacroo.
200.value[].Shift_Hoursnumber (double), nullablenoNet hours on the docket.
200.value[].Shift_Typestring, nullablenoDay, Afternoon or Night.
200.value[].Shift_Type_Codestring, nullablenoday, afternoon or night.
200.value[].Sign_OnstringnoThe Core sign-on id, or the Lacroo sign-on id.
200.value[].Sign_On_Datestring (date)noThe shift day, in the project’s time zone.
200.value[].Sign_On_Locationstring, nullablenoThe location scanned at sign-on.
200.value[].Sign_On_NamestringnoThe worker’s name.
200.value[].Sign_On_Rolestring, nullablenoThe worker’s role on the project when they signed on.
200.value[].Sign_On_Role_Keystring, nullablenoThe role’s key.
200.value[].Sign_On_Timestring (date-time)noWhen the worker signed on, in the project’s time zone.
200.value[].Sign_On_Time_UTCstring (date-time)noWhen the worker signed on, in UTC.
200.value[].Signee_Unique_IDstringnoThe worker’s Lacroo id.
200.value[].Start_Timestring, nullablenoThe docket’s start time.
200.value[].Supervisorstring, nullablenoThe supervisor’s name.
200.value[].Supervisor_IDstring (uuid), nullablenoThe supervisor’s Lacroo id.
200.value[].Supplierstring, nullablenoThe company the worker came through.
200.value[].Traineestring, nullablenoThe worker’s answer on this project.
200.value[].Year_Of_Commencementstring, nullablenoThe worker’s answer on this project.
200.value[]._idstringnoThe Core workforce-log id, or the Lacroo sign-on id.

What it is

One person’s attendance on a project for a shift — the record that says this worker was on site, who supervised them, where they signed on and for which shift-day. It is the project’s single attendance primitive and the trigger that mints the day’s billable docket.

Count workforce log rows (OData)

GET /odata/v4/workforce_log_v1/$count

beta since 2026-09-28

Group: Workforce & sign-ons

Custom access scope: reports:read

How many workforce log rows match the $filter, as plain text. Needs the prestarts:read scope as well.

Parameters

NameInTypeRequiredDescription
$filterquerystringnoAn OData filter on the filterable properties.

Response

FieldTypeRequiredNotes
200.*not JSON

What it is

One person’s attendance on a project for a shift — the record that says this worker was on site, who supervised them, where they signed on and for which shift-day. It is the project’s single attendance primitive and the trigger that mints the day’s billable docket.