Skip to main content
Inspections are field records created when a technician inspects a piece of equipment at a site using a checklist template. Each inspection tracks its status through a review workflow and accumulates findings — discrete observations with severity ratings.
The inspections API requires the calso module to be enabled for your tenant. Requests made without the module active will return 403 Forbidden.

Inspection statuses

An inspection moves through the following lifecycle:

Finding severities


List inspections

GET /api/inspections Returns a paginated list of inspections for the authenticated tenant.

Query parameters

string
Filter by inspection status. One of: draft, submitted, in_review, approved, delivered, rejected.
string
Filter by technician UUID. Returns inspections where the user is the lead technician or a team member.
string
Filter by company (customer) UUID.
Full-text search across company name, equipment type name, technician name, and serial number.
integer
default:"1"
1-based page index.
integer
default:"25"
Results per page. Maximum 100.

Response


Get an inspection

GET /api/inspections/{id} Retrieves a full inspection record including equipment details, checklist template, findings with photos, and the technician team.

Path parameters

string
required
UUID of the inspection.

Response fields

object
object
Equipment with id, manufacturer, model, serialNumber, ratedCapacity, status, nameplatePhotoUrl, locationLabel.
object
Equipment type with id, name, category, oshaStandard.
object
Site with id, name, address, city, state.
object
Company with id and name.
object
Lead technician with id, name, email.
object
Checklist template with id, name, and sections.
array
array
Array of team members with id, technicianId, role (lead or member), and name.

Create an inspection

POST /api/inspections Creates a new inspection in draft status. The inspection is assigned to the authenticated user unless a technicianId (or technicianIds) is specified, which requires the Admin or Coordinator role.

Request body

string
required
UUID of the equipment to inspect.
string
required
UUID of the site where the inspection takes place.
string
required
UUID of the checklist template to use. Must belong to your tenant.
string
required
Date of inspection in YYYY-MM-DD format.
string
Pre-inspection notes.
string
UUID of the lead technician. Only honored when the caller has the system_admin or field_coordinator role.
array
Array of technician UUIDs. The first element is the lead; subsequent elements are team members. Takes precedence over technicianId.

Response

Returns 201 Created with the new inspection object (without nested relations). Initial status is always draft.