The Loads API is the core of UpdaterAgent TMS. It exposes endpoints to create and update freight loads, drive them through theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/ShohjahonSohibov/repo-for-agent/llms.txt
Use this file to discover all available pages before exploring further.
Upcoming → Dispatched → InTransit → Delivered lifecycle, assign drivers, manage document attachments (BOL, POD), and retrieve real-time ETA to the next stop. All endpoints require a valid JWT and the appropriate permission.
Base URL: /api/loads
Required permission (minimum): Loads.View
Load status lifecycle
Every load starts asUpcoming and advances forward — status transitions are one-directional.
PUT /api/loads/{id}/start to move from Dispatched → InTransit, and PUT /api/loads/{id}/complete to move from InTransit → Delivered.
Endpoints
GET /api/loads
List loads with optional filters and pagination. RequiresLoads.View.
Query parameters
Page number, 1-indexed. Defaults to
1.Items per page. Defaults to
20, maximum 100.Field name to sort results by (e.g.,
createdAt, status).Sort order:
asc or desc.Filter by load status:
Upcoming, Dispatched, InTransit, Delivered, or Cancelled.Filter loads belonging to a specific company.
ISO 8601 date — return loads created on or after this date.
ISO 8601 date — return loads created on or before this date.
Text search across trip number, commodity, and related fields.
Array of load summary objects for the current page.
Total number of loads matching the filters.
Current page number.
Number of items per page.
Total number of pages.
GET /api/loads/
Get detailed load information including all associated stops. RequiresLoads.View.
Path parameters
The load ID.
cURL
POST /api/loads
Create a new load. RequiresLoads.Create.
Request body
Unique trip identifier. Used for deduplication on QuickManage import.
The owning company ID (tenant-scoped).
Associated broker or customer record ID.
Description of the freight being transported.
Freight weight.
Load type (e.g.,
DryVan, Flatbed, Reefer).PUT /api/loads/
Update an existing load’s details. RequiresLoads.Update.
Path parameters
The load ID to update.
POST /api/loads. Include only the fields you want to change.
cURL
DELETE /api/loads/
Delete a load record. RequiresLoads.Delete.
Path parameters
The load ID to delete.
cURL
GET /api/loads/statistics
Return a count of loads grouped by status. Useful for dashboard tiles and pipeline summaries. RequiresLoads.View.
cURL
Response
POST /api/loads//assign-driver
Assign a driver to a load. RequiresLoads.Update.
Path parameters
The load ID.
The driver’s local database ID (
Driver.Id). Do not use ImportId.driverId must be the local Driver.Id (long), not the external ImportId used for QuickManage synchronization. See the Drivers API for details on this distinction.cURL
PUT /api/loads//start
Set load status toInTransit. Use this when the driver begins transit. Requires Loads.Update.
Path parameters
The load ID.
cURL
PUT /api/loads//complete
Set load status toDelivered. Use this when all stops are finished. Requires Loads.Update.
Path parameters
The load ID.
cURL
POST /api/loads//files
Upload a document (BOL, POD, or similar) to a load. RequiresLoads.Update.
Path parameters
The load ID.
multipart/form-data
The file to upload. Supported types: PDF (
application/pdf), JPEG (image/jpeg), PNG (image/png). Maximum size: 10 MB.Document category:
BOL (Bill of Lading), POD (Proof of Delivery), or RateCon (Rate Confirmation).cURL
GET /api/loads//files
List all file attachments for a load. RequiresLoads.View.
Path parameters
The load ID.
cURL
Response
DELETE /api/loads//files/
Delete a specific file attachment from a load. RequiresLoads.Delete.
Path parameters
The load ID.
The file attachment ID to delete.
cURL
GET /api/loads//eta
Get the current ETA to the next (or current heading) stop. RequiresLoads.View. ETA is calculated using OSRM as the primary routing engine, with Google Maps as a fallback.
Path parameters
The load ID.
cURL
Response
PATCH /api/update-board//heading
Set the stop that a truck is currently heading toward. This endpoint lives underUpdateBoardController but directly affects load stop state. Requires Loads.Update.
Path parameters
The truck ID.
The load ID the stop belongs to. The load must be active (
Upcoming, Dispatched, or InTransit).The stop ID to set as the current heading. The stop must belong to the load, be assigned to the given truck, and not yet be completed.
If no stop has
IsCurrentHeading = true, the system falls back to the first uncompleted stop ordered by AppointmentDate. The heading flag is also auto-advanced on check-in — see the Stops API for details.Pagination
All list endpoints use consistent pagination query parameters and response structure.Error responses
404 Not Found — load does not exist
404 Not Found — load does not exist
409 Conflict — duplicate trip number
409 Conflict — duplicate trip number
Permissions summary
| Permission | Grants access to |
|---|---|
Loads.View | GET endpoints, statistics, ETA, file listing |
Loads.Create | POST /api/loads |
Loads.Update | PUT, PATCH, assign-driver, start, complete, file upload |
Loads.Delete | DELETE load, DELETE file |