Specific Methods

The following methods are specifics of note to assist with development.


Clients

GET /Clients

Returns a short JSON definition in a collection containing all clients.

Query Parameters

Name Type Required Description
modifiedDt datetime No Returns only clients modified on or after the specified date.

Request Example

GET /Clients?modifiedDt=2025-06-01T00:00:00

GET /Clients/{id}

Returns a specific detailed JSON document containing all fields.

The {id} can be either:

  • clientId (the Core system generated GUID), or
  • importuniqueid (your internally supplied id)

PUT /Clients

Creates a client record. If a ClientLocations JSON structure isn't supplied, a default location matching the client name is created and set as the default location.

  • ClientId - If supplied, it is ignored.
  • Name - The only required field.
  • ClientLocations - JSON structure. LocationName is required or an error is thrown.

PATCH /Clients/{id}

Takes a patch document in the request body. Returns a specific detailed JSON document containing all fields.

The {id} can be either:

  • clientId (the Core system generated GUID), or
  • importuniqueid (your internally supplied id)




Client Locations

GET /ClientLocations/{id}

Returns a specific detailed JSON document for a client location.

PUT /ClientLocations

Creates a client location record from a JSON body.

PATCH /ClientLocations/{id}

Updates a client location record via a JSON patch document.




Equipment

GET /Equipment

Returns a JSON collection of equipment. At least one of locationId or modifiedDt must be supplied. Returns a max of 200 items per page.

Query Parameters

Name Type Required Description
locationId GUID No Filters equipment by a specific client location.
modifiedDt datetime No Returns only equipment modified on or after the specified date.
pageNo int No Page number for paginated results. Defaults to page 1.

Request Example

GET /Equipment?locationId=xxxx-xxxx&modifiedDt=2025-06-01T00:00:00&pageNo=1

GET /Equipment/{EquipmentGuid}

Returns a detailed JSON document for a specific equipment item.

GET /Equipment/Search/Barcode/{barcode}

Returns an equipment item matching the supplied barcode.

PUT /Equipment

Creates an equipment record from a JSON body. Refer to the Object Definitions article for the full field list.

PATCH /Equipment/{id}

Updates an equipment record. Supports updating fields such as location, clientReference, and EquipmentDetails.

EquipmentDetails is an array of detail attribute values. Each item requires an equipmentDetailId and value.

Request Example

[
  {
    "path": "clientReference",
    "value": "REF-001"
  },
  {
    "path": "EquipmentDetails",
    "value": [
      {
        "equipmentDetailId": "xxxx-xxxx-xxxx-xxxx",
        "value": "Updated Value"
      }
    ]
  }
]




Equipment Types

GET /EquipmentTypes

Returns a JSON collection of equipment types.

Query Parameters

Name Type Required Description
modifiedDt datetime No Returns only equipment types modified on or after the specified date.

Request Example

GET /EquipmentTypes?modifiedDt=2025-06-01T00:00:00

GET /EquipmentTypes/{id}

Returns a detailed JSON document for a specific equipment type, including its attributes.




Inspections

GET /Inspections

Description:

Returns a JSON collection of inspections. modifiedDt is required to prevent full-table scans. Returns a max of 200 items per page.

Query Parameters

Name Type Required Description
modifiedDt datetime Yes Returns only inspections modified on or after the specified date.
pageNo int No Page number for paginated results. Defaults to page 1.

Request Example

GET /Inspections?modifiedDt=2025-06-01T00:00:00&pageNo=1




GET /Inspections/{inspectionGuid}

Description:

Retrieves the details of a specific inspection using its unique identifier (inspectionGuid).

Parameters

Name Type Required Description
inspectionGuid GUID Yes The unique identifier of the inspection you want to retrieve.

Request Example

GET https://api4.coreinspection.com/Inspections/6418a8a6-d68f-41ff-aa62-b2d9dc522767




PUT /Inspections

Description:

Creates an inspection record from a JSON body.

Request Body

Field Type Description
inspectionTemplateId int Required. The inspection template to use.
passed boolean Whether the inspection passed.
StatusLookupGuid GUID Status lookup identifier.
ImportUniqueId string Your externally supplied unique ID. If a match exists, the record is updated instead of created.
inspectionComponentResults array A list of component results. Each item supports section, description, and value. Optional section2 and description2 fields support secondary language.




PATCH /Inspections/{inspectionGuid}

Description

Updates an existing inspection record by applying changes to specific fields, such as DateCreated, Passed, Failed, Notes, and component results.

Parameters

Name Type Required Description
inspectionGuid GUID Yes Unique identifier of the inspection to update.

Request Body

The request body is an array of objects where each object specifies a field to update using a path and its corresponding value.

Field Type Description
path string The name of the field to update (e.g., DateCreated, Passed). Refer to the Inspection API object definitions for details.
value string / boolean / array The new value to assign.
InspectionComponentResults array A list of component result objects. Each requires an InspectionComponentResultId and value. Optional value2 supports secondary language.

Request Example

[
  {
    "path": "DateCreated",
    "value": "2025-09-20T00:00:00"
  },
  {
    "path": "Passed",
    "value": null
  },
  {
    "path": "Failed",
    "value": true
  },
  {
    "path": "Missed",
    "value": null
  },
  {
    "path": "Notes",
    "value": "Updated inspection notes"
  },
  {
    "path": "InspectionComponentResults",
    "value": [
      {
        "InspectionComponentResultId": "8ed66b61-41d7-492d-abab-5ec6b2c8d1d1",
        "value": "Test",
        "value2": "Test-fr"
      },
      {
        "InspectionComponentResultId": "b8622c4d-0e44-4464-9c3f-00edc126f7d0",
        "value": "Yes"
      }
    ]
  }
]




Jobs

GET /Jobs

Returns a short JSON definition in a collection containing all jobs matching the supplied filters.

Query Parameters

Name Type Required Description
statusId int No Filter by job status.
substatusId int No Filter by job sub-status.
branchid string No Filter by branch.
techId GUID No Filter by assigned technician.
dateFrom datetime No Filter by job start date (from).
dateTo datetime No Filter by job start date (to). Defaults to 30 days from dateFrom if not specified.
dateCompletedFrom datetime No Filter by completion date (from).
dateCompletedTo datetime No Filter by completion date (to).
dateApprovedFrom datetime No Filter by approval date (from).
dateApprovedTo datetime No Filter by approval date (to).
modifiedDt datetime No Returns only jobs modified after the specified date.
pageNo int No Page number for paginated results.

Limits

  • There is a maximum date range of 3 months for dateFrom/dateTo queries.
  • The query returns a max of 200 items per page.

Typical Scenarios

  • Get all completed jobs in Jan: /Jobs?statusid=5&branchid=123&datefrom=01/Jan/2022&dateto=31/Jan/2022
  • Get all active jobs: /Jobs?statusid=2&datefrom=01/Jan/2022&dateto=31/Mar/2022
  • Get recently modified jobs: /Jobs?modifiedDt=2025-06-01T00:00:00




GET /Jobs/{id}

Returns a specific detailed JSON document containing all fields. The {id} is the jobGuid (the Core system generated GUID).

GET /Jobs/{id}/inspections

Returns a JSON collection of inspections associated with a specific job.

GET /Jobs/{id}/parts

Returns a JSON collection of parts associated with a specific job.

GET /Jobs/{id}/servicerecords

Returns a JSON collection of service records associated with a specific job.




PUT /Jobs

Creates a job record from a JSON body.

Key Fields

Field Type Description
clientid GUID Required. Can also use client_importUniqueId.
clientLocationId GUID Required. Can also use clientLocation_importUniqueId.
startTime datetime Required.
branchGuid GUID Optional.

PATCH /Jobs/{id}

Updates a job record via a JSON patch document.

Job Workers

Job workers are assigned by supplying a list of worker emails. Any previous workers allocated are removed from the job. If any of the technicians cannot be found (matching their email) an error is thrown.

"jobWorkers": [
  { "WorkerEmail": "worker1@domain.com" },
  { "WorkerEmail": "worker2@domain.com" }
]




Reports

GET /Reports

Description

Retrieves dynamic reports, filtered by report name, and optionally branch and date (month/year), with support for pagination.

Query Parameters

Name Type Required Description
reportName string Yes The report type to retrieve. Example: "All Inspections by Month".
branchId int No Filters the report by branch. -1 denotes all branches.
month int No Filters the report by month (1–12).
year int No Filters the report by year (e.g., 2025).
pageNumber int No The page of results to retrieve.
pageSize int No Number of records per page.

Request Example

GET https://api4.coreinspection.com/Reports?reportName=All Inspections by Month&month=9&year=2025&pageSize=50&pageNumber=1




Branches

GET /Branches

Returns a JSON collection of branches.

Query Parameters

Name Type Required Description
modifiedDt datetime No Returns only branches modified on or after the specified date.

Request Example

GET /Branches?modifiedDt=2025-06-01T00:00:00

GET /Branches/{id}

Returns a detailed JSON document for a specific branch.

PATCH /Branches/{id}

Updates a branch record via a JSON patch document.




Parts

GET /Parts

Returns a JSON collection of parts.

Query Parameters

Name Type Required Description
modifiedDt datetime No Returns only parts modified on or after the specified date.

Request Example

GET /Parts?modifiedDt=2025-06-01T00:00:00

GET /Parts/{id}

Returns a detailed JSON document for a specific part.

PUT /Parts

Creates a part record from a JSON body.

PATCH /Parts/{id}

Updates a part record via a JSON patch document. Supports updating fields such as description and code.




Users

GET /Users

Returns a JSON collection of users.

Query Parameters

Name Type Required Description
ActiveOnly boolean No When true, returns only active users.

GET /Users/{id}

Returns a detailed JSON document for a specific user.

PATCH /Users/{id}

Updates a user record via a JSON patch document.




Service Records

GET /ServiceRecords

Returns a JSON collection of service records. modifiedDt is required to prevent full-table scans. Returns a max of 200 items per page.

Query Parameters

Name Type Required Description
modifiedDt datetime Yes Returns only service records modified on or after the specified date.
pageNo int No Page number for paginated results. Defaults to page 1.

Request Example

GET /ServiceRecords?modifiedDt=2025-06-01T00:00:00&pageNo=1




GET /ServiceRecords/{id}

Returns a detailed JSON document for a specific service record.




Customer Equipment

GET /CustomerEquipment

Customer login only. Returns a filtered list of equipment for the authenticated customer.

Query Parameters

Name Type Required Description
clientId GUID No Filter by client.
ModifiedDate datetime No Returns only equipment modified after the specified date.




Lookup Endpoints

The following endpoints return reference data used across the system.

Endpoint Description
GET /JobStatuses Returns a list of job statuses and their IDs.
GET /InspectionIntervals Returns a list of inspection intervals.
GET /EquipmentTypes Returns a list of equipment types.




HeartBeat

GET /HeartBeat

A simple connectivity test endpoint. Returns a 200 OK response confirming the API is reachable and your credentials are valid.