GetWO
Returns one work order by its ID: its header, its services, its events
and data fields with their values, its KPIs and its assets. Use it to read the work orders that
CreateJob created, or those that
GetWOListByUpdated lists as changed. To read all the work
orders of a job at once, use GetJob; to read only some events and data
fields, use GetSeqData.
How to sign in and read the response: Authentication, Responses.
GET /api/v1/GetWO?ID=48211Token: your-token| Parameter | Required | Meaning |
|---|---|---|
ID |
Yes | The work order’s ID, a whole number. |
Without ID, the request does not reach the endpoint, and TrakIT answers with HTTP status 404. An
ID that is not a whole number also gets an HTTP error status instead of the usual answer. See
Errors.
| Rule | Info when it fails |
|---|---|
The Token header holds a valid token. |
Token missing in header, Token invalid or expired, or another answer listed in Login token |
| The user is a system administrator with API access. | API User must be SysAdmin with API Access |
Response
Section titled “Response”On success, RetInfo is the work order. RowsAffected and Identity are
0.
Check RetInfo before you read it: it is null when no work order has that ID.
{ "Code": 1, "Info": "", "RetInfo": { "WorkOrderID": 48211, "Workflow": "Import Sea Freight", "WFType": "Import", "JobID": 10457, "Job": "EXBL2610045", "JobType": "Door to Door", "ContNum": "ABCU1234560", "TypeCode": "22G1", "ContLength": 20, "SealNum": "SL778812", "Commodity": "Ceramic tiles", "LocationList": "Example Port - Container Terminal; Example City - Customer Warehouse", "ParentWO": null, "Resp": "JSMITH", "CarrierID": 1187, "CustomerID": 3021, "ShipperID": 3022, "ReceiverID": 3021, "AgentID": null, "ClAgentID": 2304, "TransID": 2210, "RetTransID": null, "Weight": 21450.500, "Volume": null, "Status": 0, "Responsible": "John Smith", "Trans": "Example Haulage Ltd", "RetTrans": null, "Services": [ { "ServiceID": 4, "ServiceName": "Customs Clearance" }, { "ServiceID": 6, "ServiceName": "Delivery" } ], "Events": [ { "Name": "Vessel Arrival", "Code": "VSLARR", "Value": "2026-10-20 06:30", "Remarks": null, "Updated": "2026-10-20T07:02:11.483", "UpdatedBy": "JSMITH" }, { "Name": "Gate Out", "Code": "GATEOUT", "Value": "", "Remarks": null, "Updated": null, "UpdatedBy": null } ], "Data": [ { "Name": "Delivery Order No", "Code": "DONUM", "Value": "DO-55120", "Remarks": null, "Updated": "2026-10-20T09:15:40.12", "UpdatedBy": "JSMITH" } ], "KPIs": [ { "KPI": "Arrival to Gate Out", "FromDate": "2026-10-20T06:30:00", "ToDate": null, "Target": 72, "Actual": 30 } ], "Assets": [] }, "RowsAffected": 0, "Scalar": null, "Identity": 0}Work order object
Section titled “Work order object”GetJob returns its work orders in the same form. The labels in bold are those
of the header fields.
| Field | Meaning |
|---|---|
WorkOrderID |
The work order’s ID. |
Workflow, WFType |
The workflow’s name and type: Import, Export, RoundTrip or NonShipment. |
JobID, Job |
The job’s ID and reference. |
JobType |
The names of the job’s job types, separated by a comma and a space. Empty when it has none. |
ContNum |
Container No., or an empty string. |
TypeCode |
Load Type: the load type’s code, or null. |
ContLength |
The length in feet that the load type code stands for, for example 20 for 22G1 and 45 for L5G1. 0 without a load type, or when the code gives no length. |
SealNum |
Seal Number, or an empty string. |
Commodity |
Commodity, or an empty string. |
LocationList |
The location list as text: each location after its parent place, Parent - Location, separated by ; . Empty when the work order has none. |
ParentWO |
The ID of the work order this one was created from, its parent work order, or null. |
Resp, Responsible |
Responsible Person: the user ID and the user’s name. |
CarrierID |
Carrier: the entity’s ID, or 0 when there is none. |
CustomerID, ShipperID, ReceiverID |
The job’s Customer, Shipper and Receiver: entity IDs, or null. |
AgentID, ClAgentID |
Bond Agent and Clearing Agent: entity IDs, or null. |
TransID, Trans |
Transporter: the entity’s ID and name, or null. |
RetTransID, RetTrans |
Return Transporter: the entity’s ID and name, or null. |
Weight |
Weight, in kilograms. |
Volume |
Volume, in cubic metres, or null. |
Status |
The work order’s status on the work order page, as a number: 0 Active, 1 Abandoned, 2 Cancelled, 3 Closed by a user, an integration or an action, 4 Closed by TrakIT itself, once the required events and data were filled in or after the work order was abandoned. |
Services |
The work order’s services: ServiceID and ServiceName. An empty list if it has none. |
Events |
All the work order’s events, recorded or not, in the workflow’s order. See below. |
Data |
All the work order’s data fields, filled in or not, in the workflow’s order, with the same fields as Events. |
KPIs |
The work order’s KPIs. See below. |
Assets |
The assets assigned to the work order, in the order they were assigned: AssetID, AssetName, AssetSerial, and TypeID, the ID of the asset type. An empty list if it has none. |
Each entry of Events and Data:
| Field | Meaning |
|---|---|
Name |
The event’s or data field’s name. |
Code |
Its code. GetSeqData and SaveSeqData take this code. |
Value |
The value, as text, or an empty string. For an event, the date and time as recorded, for example 2026-10-20 06:30, or NA (not applicable) or TBA (to be advised). |
Remarks |
The remarks, or null. |
Updated |
When the value was last saved, in UTC, or null if it never was. |
UpdatedBy |
The user ID of the user who saved it, or null. |
Each entry of KPIs:
| Field | Meaning |
|---|---|
KPI |
The KPI’s name. |
FromDate, ToDate |
The times the KPI runs between, as on the work order’s KPIs tab, or null while not known. |
Target |
The time allowed, in hours, or null. For a KPI in business hours, a day counts 8 hours. |
Actual |
The time taken so far, in hours, or null. |

