SiteBook Reporting API Documentation

This document describes the SiteBook reporting APIs. The APIs return JSON datasets and require authentication with an API key.

Authentication

Send your API key in every request header using x-api-key. Contact SiteBook support for instructions on how to acquire an API key.

x-api-key: YOUR_API_KEY

Base URLs

  • Sandbox: https://trpt.sitebook.com.au
  • Production: https://rpt.sitebook.com.au

Rate Limiting

All URLs in the reporting environment are rate limited to 1 API call per second per IP address.

Environment Notes

Production reporting data can have a replication delay of up to 15 minutes. The sandbox is a test environment and may contain production data. It is subject to change or rebuilding, usually on a Friday morning, but it may be rebuilt at any time.

Actions

Provides reporting endpoints for action data.

GET /v2/actions

Returns action records matching the supplied filters.

Query Parameters

NameTypeRequiredDescription
OpenboolOptionalWhen true, returns only open records.
MyActionboolOptionalWhen true, returns actions assigned to or created by the authenticated user.
OverdueboolOptionalWhen true, returns only overdue records.
IncludeReportsboolOptionalWhen true, includes records linked to reports.
DefectIdGuidOptionalIdentifier used to filter or reference the defect.
ArisingFromIdintOptionalIdentifier used to filter or reference the arising from.
AssignedToCompanyIdGuidOptionalIdentifier used to filter or reference the assigned to company.
FromDateDateTimeOptionalFilters results on or after this date.
ToDateDateTimeOptionalFilters results on or before this date.
PersonnelIdGuidOptionalIdentifier used to filter or reference the personnel.
JobIdGuidOptionalIdentifier used to filter or reference the job.
FilterstringOptionalSearch text used to filter matching records.
SizeintOptionalMaximum number of records to return.
SkipintOptionalNumber of matching records to skip before returning results.

Example Request

GET https://rpt.sitebook.com.au/v2/actions?Open=true&MyAction=true&Overdue=true&IncludeReports=true&DefectId=11111111-1111-1111-1111-111111111111&ArisingFromId=1&AssignedToCompanyId=11111111-1111-1111-1111-111111111111&FromDate=value&ToDate=value&PersonnelId=11111111-1111-1111-1111-111111111111&JobId=11111111-1111-1111-1111-111111111111&Filter=value&Size=1&Skip=1
x-api-key: YOUR_API_KEY

Example Response

[
  {
    "ActionId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "DueDate": "string",
    "ActionRequired": "string",
    "AssignedTo": "string",
    "AssignedToBusinessName": "string",
    "ArisingFrom": "string",
    "ActionType": "string",
    "CreatedOn": "string",
    "ControlMeasures": "string",
    "VerifiedBy": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "CompletedBy": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "JobId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "JobNumber": "string",
    "ProjectName": "string",
    "SiteId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "SiteLocation": "string"
  }
]

Assets

Provides reporting endpoints for asset data.

GET /v1/assets

Returns asset records available to the authenticated user.

Example Request

GET https://rpt.sitebook.com.au/v1/assets
x-api-key: YOUR_API_KEY

Success Response

200 OK
GET /v1/asset-faults

Returns asset fault records available to the authenticated user.

Example Request

GET https://rpt.sitebook.com.au/v1/asset-faults
x-api-key: YOUR_API_KEY

Success Response

200 OK
GET /v1/asset-maintenance

Returns asset maintenance records available to the authenticated user.

Example Request

GET https://rpt.sitebook.com.au/v1/asset-maintenance
x-api-key: YOUR_API_KEY

Success Response

200 OK

BoQs

Provides reporting endpoints for BoQ data.

GET /v1/boqs

Returns BoQ records matching the supplied filters.

Query Parameters

NameTypeRequiredDescription
ProjectActiveboolOptionalWhen true, returns only active projects.
JobIdGuidOptionalIdentifier used to filter or reference the job.
ProjectPhasesstringOptionalValue used to filter or populate the project phases field.
EstimatorstringOptionalValue used to filter or populate the estimator field.
EstimateTypestringOptionalValue used to filter or populate the estimate type field.
SalesReportStatusstringOptionalValue used to filter or populate the sales report status field.
FilterstringOptionalSearch text used to filter matching records.
SizeintOptionalMaximum number of records to return.
SkipintOptionalNumber of matching records to skip before returning results.

Example Request

GET https://rpt.sitebook.com.au/v1/boqs?ProjectActive=true&JobId=11111111-1111-1111-1111-111111111111&ProjectPhases=value&Estimator=value&EstimateType=value&SalesReportStatus=value&Filter=value&Size=1&Skip=1
x-api-key: YOUR_API_KEY

Example Response

[
  {
    "BudgetId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "ProjectActive": true,
    "ProjectPhase": "string",
    "ProjectCreationDate": "string",
    "Estimator": "string",
    "EstimateType": "string",
    "Title": "string",
    "SubmittedOn": "string",
    "SalesReportStatus": "string",
    "SalesReportStatusDate": "string",
    "BudgetCostExGst": 125.00,
    "Markup": 125.00,
    "SalesCostExGst": 125.00,
    "JobId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "JobNumber": "string",
    "ProjectName": "string",
    "SiteId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "SiteLocation": "string"
  }
]

Claim Items

Provides reporting endpoints for claim item data.

GET /v1/claim-items

Returns claim item records matching the supplied filters.

Query Parameters

NameTypeRequiredDescription
ProjectPhaseTypeIdintOptionalIdentifier used to filter or reference the project phase type.

Example Request

GET https://rpt.sitebook.com.au/v1/claim-items?ProjectPhaseTypeId=1
x-api-key: YOUR_API_KEY

Example Response

[
  {
    "ClaimItemId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "ProjectPhaseTypeId": 1,
    "Job": "string",
    "City": "string",
    "Title": "string",
    "Amount": 125.00,
    "VariationTotalAmount": 125.00,
    "TotalClaim": 125.00,
    "ForecastDate": "string",
    "ActualDate": "string",
    "PaymentDueDate": "string",
    "PaymentDate": "string",
    "AmountPaid": 125.00,
    "Remaining": 125.00,
    "ClientName": "string"
  }
]

Contractors

Provides reporting endpoints for contractor data.

GET /v1/contractors

Returns contractor records matching the supplied filters.

Query Parameters

NameTypeRequiredDescription
ActiveboolOptionalWhen true, returns only active records.
TradeIdGuidOptionalIdentifier used to filter or reference the trade.
RegionIdGuidOptionalIdentifier used to filter or reference the region.
FilterstringOptionalSearch text used to filter matching records.
SizeintOptionalMaximum number of records to return.
SkipintOptionalNumber of matching records to skip before returning results.

Example Request

GET https://rpt.sitebook.com.au/v1/contractors?Active=true&TradeId=11111111-1111-1111-1111-111111111111&RegionId=11111111-1111-1111-1111-111111111111&Filter=value&Size=1&Skip=1
x-api-key: YOUR_API_KEY

Example Response

[
  {
    "CompanyId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "BusinessName": "string",
    "BusinessPhone": "string",
    "City": "string",
    "State": "string",
    "PersonnelId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "ContactName": "string",
    "Active": true
  }
]

Dashboards

Provides reporting endpoints for dashboard metrics.

GET /v1/dashboards

Returns dashboard metrics matching the supplied filters.

Query Parameters

NameTypeRequiredDescription
FromDateDateTimeOptionalFilters results on or after this date.
ToDateDateTimeOptionalFilters results on or before this date.
ShowInductionboolOptionalWhen true, includes induction metrics in the response.
ShowAttendanceboolOptionalWhen true, includes attendance metrics in the response.
ShowProjectboolOptionalWhen true, includes project metrics in the response.
ShowContractorboolOptionalWhen true, includes contractor metrics in the response.
ShowAgreementboolOptionalWhen true, includes agreement metrics in the response.
ShowActionboolOptionalWhen true, includes action metrics in the response.
ShowIncidentboolOptionalWhen true, includes incident metrics in the response.
ShowTaskboolOptionalWhen true, includes task metrics in the response.
ShowPreQualboolOptionalWhen true, includes pre qual metrics in the response.
ShowToolboxTalkboolOptionalWhen true, includes toolbox talk metrics in the response.
ShowSwmsboolOptionalWhen true, includes SWMS metrics in the response.
ShowABNboolOptionalWhen true, includes ABN metrics in the response.
ShowContractorLicenceboolOptionalWhen true, includes contractor licence metrics in the response.
ShowWorkerInsuranceboolOptionalWhen true, includes worker insurance metrics in the response.
ShowPublicLiabilityboolOptionalWhen true, includes public liability metrics in the response.
ShowCheckListboolOptionalWhen true, includes check list metrics in the response.
ProjectActiveboolOptionalWhen true, returns only active projects.
SiteIdGuidOptionalFilters results to a specific site.
PersonnelIdGuidOptionalIdentifier used to filter or reference the personnel.

Example Request

GET https://rpt.sitebook.com.au/v1/dashboards?FromDate=value&ToDate=value&ShowInduction=true&ShowAttendance=true&ShowProject=true&ShowContractor=true&ShowAgreement=true&ShowAction=true&ShowIncident=true&ShowTask=true&ShowPreQual=true&ShowToolboxTalk=true&ShowSwms=true&ShowABN=true&ShowContractorLicence=true&ShowWorkerInsurance=true&ShowPublicLiability=true&ShowCheckList=true&ProjectActive=true&SiteId=11111111-1111-1111-1111-111111111111&PersonnelId=11111111-1111-1111-1111-111111111111
x-api-key: YOUR_API_KEY

Example Response

{
  "SwmsCompleteCount": 1,
  "InductionCompleteCount": 1,
  "InductionIncompleteCount": 1,
  "AttendanceCount": 1,
  "ProjectPreConstructionCount": 1,
  "ProjectConstructionCount": 1,
  "ProjectPostConstructionCount": 1,
  "ProjectMaintenanceCount": 1,
  "ContractorCount": 1,
  "AgreementCompleteCount": 1,
  "AgreementNotProvidedCount": 1,
  "AgreementExpiredCount": 1,
  "ActionOpenCount": 1,
  "ActionClosedCount": 1,
  "IncidentOpenCount": 1,
  "IncidentClosedCount": 1,
  "TaskInProgressCount": 1,
  "TaskCompleteCount": 1,
  "TaskOverdueCount": 1,
  "PreQualCompleteCount": 1,
  "PreQualExpiredCount": 1,
  "ToolboxTalkCount": 1,
  "SwmsForReviewCount": 1,
  "SwmsNotSubmittedCount": 1,
  "ABNCompleteCount": 1,
  "ABNNotProvidedCount": 1,
  "ABNExpiredCount": 1,
  "ContractorLicenceCompleteCount": 1,
  "ContractorLicenceNotProvidedCount": 1,
  "ContractorLicenceExpiredCount": 1,
  "WorkerInsuranceCompleteCount": 1,
  "WorkerInsuranceNotProvidedCount": 1,
  "WorkerInsuranceExpiredCount": 1,
  "PublicLiabilityCompleteCount": 1,
  "PublicLiabilityNotProvidedCount": 1,
  "PublicLiabilityExpiredCount": 1,
  "CheckListInProgressCount": 1,
  "CheckListCompleteCount": 1
}

Defects

Provides reporting endpoints for defect data.

GET /v1/defects

Returns defect records matching the supplied filters.

Query Parameters

NameTypeRequiredDescription
OpenboolOptionalWhen true, returns only open records.
JobIdGuidOptionalIdentifier used to filter or reference the job.
FilterstringOptionalSearch text used to filter matching records.
SizeintOptionalMaximum number of records to return.
SkipintOptionalNumber of matching records to skip before returning results.

Example Request

GET https://rpt.sitebook.com.au/v1/defects?Open=true&JobId=11111111-1111-1111-1111-111111111111&Filter=value&Size=1&Skip=1
x-api-key: YOUR_API_KEY

Example Response

[
  {
    "DefectId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "DefectNumber": "string",
    "Title": "string",
    "ActionCount": 1,
    "ClosedOn": "string",
    "AssignedTo": "string",
    "DueDate": "string",
    "JobId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "JobNumber": "string",
    "ProjectName": "string",
    "SiteId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "SiteLocation": "string"
  }
]

Diaries

Provides reporting endpoints for diary data.

GET /v1/jobs/{jobId}/diaries

Returns diary records matching the supplied filters.

Path Parameters

NameTypeRequiredDescription
jobIdGuidRequiredIdentifier used to filter or reference the job.

Query Parameters

NameTypeRequiredDescription
DiaryDateDateTimeOptionalDate value used to filter or describe the record.
FilterstringOptionalSearch text used to filter matching records.
SizeintOptionalMaximum number of records to return.
SkipintOptionalNumber of matching records to skip before returning results.

Example Request

GET https://rpt.sitebook.com.au/v1/jobs/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa/diaries?DiaryDate=value&Filter=value&Size=1&Skip=1
x-api-key: YOUR_API_KEY

Example Response

[
  {
    "DiaryId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "DiaryDate": "string",
    "Title": "string",
    "Note": "string",
    "CreatedBy": "string",
    "CreatedOn": "string",
    "DiaryTypeId": 1,
    "Sequence": 1,
    "LastUpdateUtc": "string",
    "JobId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "JobNumber": "string",
    "ProjectName": "string",
    "SiteId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "SiteLocation": "string"
  }
]

Docket Assets

Provides reporting endpoints for docket asset data.

GET /v1/dockets/{docketId}/assets

Returns asset records available to the authenticated user.

Path Parameters

NameTypeRequiredDescription
docketIdGuidRequiredIdentifier used to filter or reference the docket.

Example Request

GET https://rpt.sitebook.com.au/v1/dockets/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa/assets
x-api-key: YOUR_API_KEY

Example Response

[
  {
    "DocketAssetId": "dddddddd-dddd-dddd-dddd-dddddddddddd",
    "Sequence": 1,
    "AssetConfigId": null,
    "AssetId": null,
    "AssetCode": null,
    "AssetDescription": "string",
    "AssetGroupName": "Excavators",
    "ActivityTypeId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "ActivityCode": "string",
    "ActivityTitle": "string",
    "Notes": "string",
    "Start": "string",
    "Finish": "string",
    "BreakDuration": 1,
    "Duration": 1,
    "Extras": true
  }
]

Dockets

Provides reporting endpoints for docket data.

GET /v1/dockets

Returns docket records matching the supplied filters.

Query Parameters

NameTypeRequiredDescription
DocketStatusIdintOptionalIdentifier used to filter or reference the docket status.
SiteManagerIdGuidOptionalIdentifier used to filter or reference the site manager.
JobIdGuidOptionalIdentifier used to filter or reference the job.
FromDateDateTimeOptionalFilters results on or after this date.
ToDateDateTimeOptionalFilters results on or before this date.
FilterstringOptionalSearch text used to filter matching records.
SizeintOptionalMaximum number of records to return.
SkipintOptionalNumber of matching records to skip before returning results.

Example Request

GET https://rpt.sitebook.com.au/v1/dockets?DocketStatusId=1&SiteManagerId=11111111-1111-1111-1111-111111111111&JobId=11111111-1111-1111-1111-111111111111&FromDate=value&ToDate=value&Filter=value&Size=1&Skip=1
x-api-key: YOUR_API_KEY

Example Response

[
  {
    "DocketId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "DocketNumber": "string",
    "DocketDate": "string",
    "Name": "string",
    "SiteManager": "string",
    "DocketStart": "string",
    "DocketFinish": "string",
    "BreakDuration": 1,
    "AutoCalculateBreak": true,
    "OrderNumber": "string",
    "Notes": "string",
    "DocketStatusId": 1,
    "DocumentId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "EmailStatusNo": 1,
    "SmsStatusNo": 1,
    "HasSignOff": true,
    "HasAsset": true,
    "Arrival": "string",
    "Departure": "string",
    "ArrivedOnSite": 1,
    "DepartedOnSite": 1,
    "JobId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "JobNumber": "string",
    "ProjectName": "string",
    "SiteId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "SiteLocation": "string"
  }
]

Docket Items

Provides reporting endpoints for docket item data.

GET /v1/docket-items

Returns docket item records matching the supplied filters.

Query Parameters

NameTypeRequiredDescription
DocketIdGuidOptionalIdentifier used to filter or reference the docket.
GroupIdintOptionalIdentifier used to filter or reference the group.

Example Request

GET https://rpt.sitebook.com.au/v1/docket-items?DocketId=11111111-1111-1111-1111-111111111111&GroupId=1
x-api-key: YOUR_API_KEY

Example Response

[
  {
    "DocketItemId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "Sequence": 1,
    "Id": "string",
    "Group": "string",
    "Description": "string",
    "Quantity": 125.00,
    "UnitOfMeasureId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "UnitOfMeasureAbbr": "string"
  }
]

Docket Personnels

Provides reporting endpoints for docket personnel data.

GET /v1/dockets/{docketId}/personnels

Returns personnel records available to the authenticated user.

Path Parameters

NameTypeRequiredDescription
docketIdGuidRequiredIdentifier used to filter or reference the docket.

Example Request

GET https://rpt.sitebook.com.au/v1/dockets/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa/personnels
x-api-key: YOUR_API_KEY

Example Response

[
  {
    "DocketPersonnelId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "Sequence": 1,
    "Name": "string",
    "Id": "string",
    "Group": "string",
    "Start": "string",
    "Finish": "string",
    "BreakDuration": 1,
    "Duration": 1,
    "TimeSheetItemId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
  }
]

Documents

Provides reporting endpoints for document data.

GET /v1/documents

Returns document records matching the supplied filters.

Query Parameters

NameTypeRequiredDescription
CurrentboolOptionalWhen true, filters results by current.
MyCompanyboolOptionalWhen true, filters results by my company.
DocumentGroupIdGuidOptionalIdentifier used to filter or reference the document group.
JobIdGuidOptionalIdentifier used to filter or reference the job.
FilterstringOptionalSearch text used to filter matching records.
SizeintOptionalMaximum number of records to return.
SkipintOptionalNumber of matching records to skip before returning results.

Example Request

GET https://rpt.sitebook.com.au/v1/documents?Current=true&MyCompany=true&DocumentGroupId=11111111-1111-1111-1111-111111111111&JobId=11111111-1111-1111-1111-111111111111&Filter=value&Size=1&Skip=1
x-api-key: YOUR_API_KEY

Example Response

[
  {
    "DocumentId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "FileName": "string",
    "Owner": "string",
    "Number": "string",
    "Revision": "string",
    "RevisionDate": "string",
    "RevisionNotes": "string",
    "DocumentGroupAbbr": "string",
    "Shared": true,
    "DocumentStatusAbbr": "string",
    "JobId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "JobNumber": "string",
    "ProjectName": "string",
    "SiteId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "SiteLocation": "string"
  }
]

Incidents

Provides reporting endpoints for incident data.

GET /v2/incidents

Returns incident records matching the supplied filters.

Query Parameters

NameTypeRequiredDescription
FromDateDateTimeOptionalFilters results on or after this date.
ToDateDateTimeOptionalFilters results on or before this date.
ReportedBystringOptionalValue used to filter or populate the reported by field.
JobIdGuidOptionalIdentifier used to filter or reference the job.
IncidentTypestringOptionalValue used to filter or populate the incident type field.
OpenboolOptionalWhen true, returns only open records.
FilterstringOptionalSearch text used to filter matching records.
SizeintOptionalMaximum number of records to return.
SkipintOptionalNumber of matching records to skip before returning results.

Example Request

GET https://rpt.sitebook.com.au/v2/incidents?FromDate=value&ToDate=value&ReportedBy=value&JobId=11111111-1111-1111-1111-111111111111&IncidentType=value&Open=true&Filter=value&Size=1&Skip=1
x-api-key: YOUR_API_KEY

Example Response

[
  {
    "IncidentId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "IncidentDate": "string",
    "IncidentNumber": "string",
    "ReportedBy": "string",
    "IncidentType": "string",
    "Open": true,
    "Category": "string",
    "LostTimeHours": 125.00,
    "ActionCount": 1,
    "JobId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "JobNumber": "string",
    "ProjectName": "string",
    "SiteId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "SiteLocation": "string"
  }
]

Inductions

Provides reporting endpoints for induction data.

GET /v1/inductions

Returns induction records matching the supplied filters.

Query Parameters

NameTypeRequiredDescription
SiteIdGuidOptionalFilters results to a specific site.
StatusstringOptionalValue used to filter or populate the status field.
FromDateDateTimeOptionalFilters results on or after this date.
ToDateDateTimeOptionalFilters results on or before this date.
PersonnelIdGuidOptionalIdentifier used to filter or reference the personnel.
JobIdGuidOptionalIdentifier used to filter or reference the job.
FilterstringOptionalSearch text used to filter matching records.
SizeintOptionalMaximum number of records to return.
SkipintOptionalNumber of matching records to skip before returning results.

Example Request

GET https://rpt.sitebook.com.au/v1/inductions?SiteId=11111111-1111-1111-1111-111111111111&Status=value&FromDate=value&ToDate=value&PersonnelId=11111111-1111-1111-1111-111111111111&JobId=11111111-1111-1111-1111-111111111111&Filter=value&Size=1&Skip=1
x-api-key: YOUR_API_KEY

Example Response

[
  {
    "SiteInductionId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "PersonnelId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "Name": "string",
    "Street": "string",
    "City": "string",
    "State": "string",
    "PostCode": "string",
    "CompanyName": "string",
    "InductionDate": "string",
    "Status": 1,
    "Indigenous": true,
    "Apprentice": true,
    "Tradeswoman": true,
    "JobId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "JobNumber": "string",
    "ProjectName": "string",
    "SiteId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "SiteLocation": "string"
  }
]

Products

Provides reporting endpoints for product data.

GET /v1/products

Returns product records available to the authenticated user.

Example Request

GET https://rpt.sitebook.com.au/v1/products
x-api-key: YOUR_API_KEY

Example Response

[
  {
    "ProductId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "ProductCode": "string",
    "AccountCodeAbbr": "string",
    "ProductDescription": "string",
    "ProductNotes": "string",
    "UnitOfMeasureAbbr": "string",
    "TaxRate": 125.00,
    "Orderable": true,
    "Allowance": true,
    "ProductActive": true,
    "SupplierCompanyName": "string",
    "RegionAbbreviation": "string",
    "SupplierProductCode": "string",
    "UnitCost": 125.00,
    "ValidFrom": "string"
  }
]
GET /v1/products/pricebooks

Returns pricebook records matching the supplied filters.

Query Parameters

NameTypeRequiredDescription
ValidFromDateTimeOptionalValue used to filter or populate the valid from field.

Example Request

GET https://rpt.sitebook.com.au/v1/products/pricebooks?ValidFrom=value
x-api-key: YOUR_API_KEY

Example Response

[
  {
    "ProductId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "ProductCode": "string",
    "AccountCodeAbbr": "string",
    "ProductDescription": "string",
    "UnitOfMeasureAbbr": "string",
    "TaxRate": 125.00,
    "Orderable": true,
    "Allowance": true,
    "SupplierCompanyName": "string",
    "RegionAbbreviation": "string",
    "SupplierProductCode": "string",
    "UnitCost": 125.00,
    "ProductNotes": "string",
    "ValidFrom": "string"
  }
]

Projects

Provides reporting endpoints for project data.

GET /v2/projects

Returns project records matching the supplied filters.

Query Parameters

NameTypeRequiredDescription
ActiveboolOptionalWhen true, returns only active records.
PhaseNumbersstringOptionalValue used to filter or populate the phase numbers field.
RegionIdGuidOptionalIdentifier used to filter or reference the region.
StageIdGuidOptionalIdentifier used to filter or reference the stage.
ProjectTypeIdGuidOptionalIdentifier used to filter or reference the project type.
PersonnelIdGuidOptionalIdentifier used to filter or reference the personnel.
SiteManagerIdGuidOptionalIdentifier used to filter or reference the site manager.
MultiDwellingboolOptionalWhen true, returns only multi-dwelling projects.
FilterstringOptionalSearch text used to filter matching records.
SizeintOptionalMaximum number of records to return.
SkipintOptionalNumber of matching records to skip before returning results.

Example Request

GET https://rpt.sitebook.com.au/v2/projects?Active=true&PhaseNumbers=value&RegionId=11111111-1111-1111-1111-111111111111&StageId=11111111-1111-1111-1111-111111111111&ProjectTypeId=11111111-1111-1111-1111-111111111111&PersonnelId=11111111-1111-1111-1111-111111111111&SiteManagerId=11111111-1111-1111-1111-111111111111&MultiDwelling=true&Filter=value&Size=1&Skip=1
x-api-key: YOUR_API_KEY

Example Response

[
  {
    "Active": true,
    "PostCode": "string",
    "SiteCode": "string",
    "SiteManagerName": "string",
    "RegionId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "PhaseNumber": 1,
    "StageId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "StageName": "string",
    "RegionName": "string",
    "ProjectTypeName": "string",
    "JobId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "JobNumber": "string",
    "ProjectName": "string",
    "SiteId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "SiteLocation": "string"
  }
]

Site Attendances

Provides reporting endpoints for site attendance data.

GET /v1/site-attendance

Returns site attendance records matching the supplied filters.

Query Parameters

NameTypeRequiredDescription
FromDateDateTimeOptionalFilters results on or after this date.
ToDateDateTimeOptionalFilters results on or before this date.
PersonnelIdGuidOptionalIdentifier used to filter or reference the personnel.
JobIdGuidOptionalIdentifier used to filter or reference the job.
FilterstringOptionalSearch text used to filter matching records.
SizeintOptionalMaximum number of records to return.
SkipintOptionalNumber of matching records to skip before returning results.

Example Request

GET https://rpt.sitebook.com.au/v1/site-attendance?FromDate=value&ToDate=value&PersonnelId=11111111-1111-1111-1111-111111111111&JobId=11111111-1111-1111-1111-111111111111&Filter=value&Size=1&Skip=1
x-api-key: YOUR_API_KEY

Example Response

[
  {
    "SiteAttendanceId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "PersonnelId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "Name": "string",
    "BusinessName": "string",
    "Arrival": "string",
    "Departure": "string",
    "Reason": "string",
    "InductionStatus": 1,
    "ArrivedOnSite": 1,
    "DepartedOnSite": 1,
    "SubcontractedBy": "string",
    "JobId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "JobNumber": "string",
    "ProjectName": "string",
    "SiteId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "SiteLocation": "string"
  }
]

Timesheets

Provides reporting endpoints for timesheet data.

GET /v2/timesheets

Returns timesheet records matching the supplied filters.

Query Parameters

NameTypeRequiredDescription
FromDateDateTimeOptionalFilters results on or after this date.
ToDateDateTimeOptionalFilters results on or before this date.
PersonnelIdGuidOptionalIdentifier used to filter or reference the personnel.
JobIdGuidOptionalIdentifier used to filter or reference the job.
FilterstringOptionalSearch text used to filter matching records.
SizeintOptionalMaximum number of records to return.
SkipintOptionalNumber of matching records to skip before returning results.

Example Request

GET https://rpt.sitebook.com.au/v2/timesheets?FromDate=value&ToDate=value&PersonnelId=11111111-1111-1111-1111-111111111111&JobId=11111111-1111-1111-1111-111111111111&Filter=value&Size=1&Skip=1
x-api-key: YOUR_API_KEY

Example Response

[
  {
    "TimeSheetItemId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "PersonnelId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "Date": "string",
    "Name": "string",
    "Start": "string",
    "Finish": "string",
    "Duration": 1,
    "BreakDuration": 1,
    "RegionAbbr": "string",
    "ChargeCode": "string",
    "Code": "string",
    "Description": "string",
    "Note": "string",
    "TravelKm": 1,
    "Approved": true,
    "StartLatitude": 125.00,
    "StartLongitude": 125.00,
    "FinishLatitude": 125.00,
    "FinishLongitude": 125.00,
    "StartedOnSite": 1,
    "FinishedOnSite": 1,
    "JobId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "JobNumber": "string",
    "ProjectName": "string",
    "SiteId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "SiteLocation": "string"
  }
]

Error Responses

Validation and authorization failures are returned as bad requests by the current API implementation.

Status When It Can Happen Example Message
400 Bad Request The request model is invalid. ModelState validation details.
400 Bad Request The authenticated user does not have permission for the operation. Not Authorised.
400 Bad Request An unexpected exception occurs while processing the request. Invalid Request