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), orimportuniqueid(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.LocationNameis 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), orimportuniqueid(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.