Site & Fleet
Machines, crew and the places they work — the four records every other Dozer workflow points at.
Site & Fleet is the four records every other Dozer workflow points at: the machines, the crew who run them, the crew who fix them, and the places they work. A machine is keyed by the unit number painted on its side, so the id you type in chat is the id in the API.
Create a equipment — POST /api/v1/equipment
curl -X POST "https://trydozer.com/api/v1/equipment" \
-H "Authorization: Bearer $DASH_API_KEY" \
-H "Project-ID: pr_northpit" \
-H "Content-Type: application/json" \
-d '{"unit_number":"EXC-347","name":"Komatsu PC490","type":"excavator","status":"available","location":"North Pit","make":"Komatsu","model":"PC490","year":2021,"engine_hours":6240}'Add excavator EXC-347 at the North Pitdata_set {
"collection": "equipment",
"object_id": "a60h-12",
"data": {
"unit_number": "EXC-347",
"name": "Komatsu PC490",
"type": "excavator",
"status": "available",
"location": "North Pit",
"make": "Komatsu",
"model": "PC490",
"year": 2021,
"engine_hours": 6240
}
}{
"object": "equipment",
"id": "obj_123",
"unit_number": "EXC-347",
"name": "Komatsu PC490",
"type": "excavator",
"status": "in_use",
"status_color": "status color",
"status_reported_at": "2026-07-25T12:00:00.000Z",
"state": "state",
"observation": "observation",
"timeline_changes": "timeline changes",
"metrics": {},
"engine_hours": 6248,
"live_status": "running",
"created_at": "2026-07-25T12:00:00.000Z",
"updated_at": "2026-07-25T12:00:00.000Z"
}Four resources, each with its own reference:
equipment (machines),
operators (the crew who run them),
mechanics (the crew who maintain them) and
locations (sites, pits, yards and zones).
What to know before you call it
equipment is always active on a project; operators, mechanics and
locations activate on evidence — a prompt or an uploaded file that mentions
crew, technicians or multiple sites. None of the four declares delete: a machine
is decommissioned by status, so its history survives.
Only equipment declares events, because it is the object everything else
annotates — pre-trip results, fault codes, threshold crossings and shift totals
all land on the machine's timeline. Telemetry-owned fields
(last_live_data_at, live_status, engine_hours) are written by the device
path, not here; see Devices & Media.
Let the agent do it
equipment-manager owns this by conversation —
it asks one question at a time, reads a unit before writing it (a colliding
unit_number is surfaced, never silently overwritten), and fuzzy-matches an
existing location before minting a new one.
tasks_create { "project_id": "pr_northpit", "skill_id": "equipment-manager", "run": true,
"prompt": "Add excavator EXC-347 at the North Pit, Riley as a hydraulics mechanic on day shift." }
tasks_status { "task_id": "ts_…" } // → the units and crew it wroteFor a whole site at once, setup seeds equipment, devices,
locations, dashboards and playlists from a site prompt or an uploaded equipment
list — the Upload your equipment list step.
Validation failures name the field in param
(Error Codes); the project-level brakes that stop a run
before it writes anything are on Control Plane.
Next: Devices & Media to make these machines report · Daily Ops for what happens to them on a shift · TV & Dashboards to put them on a screen.