TruckMate 2025.4 New Features: Web/APIs
Released: January 16, 2026
Last updated: January 16, 2026
The TruckMate ART Server is a high-performance, multi-threaded HTTP server running TruckMate API services designed using Representational State Transfer (RESTful) API principles.
The ART Server currently supports these public APIs:
-
TruckMate REST API Bundle
-
Master Data APIs
-
Imaging
-
Freight Bill Import (deprecated)
|
Freight Bill Import and Profile Import were deprecated in March 2024. These APIs have been removed as of TruckMate 2025.2. Customers should convert to REST and MasterData APIs. For more information, see TruckMate REST API service replaces TM4Web REST APIs. |
The API release notes cover all changes made to TruckMate public APIs.
TruckMate API
The TruckMate REST APIs are a comprehensive set of RESTful services, allowing developers to integrate TruckMate with custom or third-party applications, automate tasks, and much more.
Some ways you can use these APIs include:
-
Internal systems
Share data and streamline internal business processes. -
External data sharing and connection
Share TruckMate data with third party systems. -
Application integrations
Access TruckMate data in real time. -
Embedded content
Request TruckMate data to include onto your site.
Available endpoints and methods differ depending on the license keys and authorization methods used.
To use the TruckMate REST APIs, we recommend upgrading directly to the latest version of TruckMate instead of an earlier release. This gives you access to the most current, improved, and expanded set of API methods and endpoints.
The following additional information is available on the Transportation Knowledge Base:
-
The TM4Web OpenAPI JSON information can be viewed as a website.
This may be especially useful if you are in the early stages of implementing REST APIs and do not have an ART Server running yet.
These tables list issues in numerical order by case number.
Orders API
| Case Issue | Case Name | Description |
|---|---|---|
TM-184647 |
PUT orders/orderId - Add audits to request body |
Orders API - Added ability to add 'audits' when modifying an order’s specified pickup and delivery fields. |
TM-184722 |
Create centralized function to get currency code based on bill to client profile in OrderCommonDM.pas |
Internal - Orders API - Create centralized function to get currency code based on bill to client profile in OrderCommonDM.pas |
TM-185682 |
Duplicate Barcode ID with PUT in REST API |
Orders API - Resolved an issue where the bardodes submitted through the API could get duplicate underlying barcodeId values when there was a mix of modifications and new barcodes at the same time. |
TM-186005 |
PUT orders/orderId - 'InstructionId already exists for orderId' error when attempting to update order and replace shipping instruction records |
TM Orders API - Shipping Instructions - Corrected an error that was occurring when attempting to modify an order with an update that included shipping instructions. |
Trips API
| Case Issue | Case Name | Description |
|---|---|---|
TM-184785 |
Create Stored procedure to calculate total trip carrier cost and distance |
Trips API infrastructure - Added stored procedure GET_VENDOR_LOAD_TOTALS for gathering trip totals for carrier costs and distance. |
TM-185398 |
Trips API - Web Users / Multi company - Vendor Profile record visibility is not being considered |
Fixed an issue where if a web user related to a vendor only visible to a specific company could incorrectly retrieve trips for other non-related vendors when the web user JWT was being used on an ART instance running on the company that is not visible to the related vendor. |
TM-185728 |
Access violation at address 014F6344 in module 'art.exe'. Read of address 0000005C" when trying to apply DISP status |
Fixed an access violation that would occur when dispatching a trip with a driver and HOS related appconfigs under Dispatch section were enabled. |
TM-185944 |
GET tm/trips - Vendor Web User - Duplicate records returned when using vendor web user auth and trip contains multiple legs assigned to the same vendor |
Resolved issue with GET tm/trips - Vendor Web User - where duplicate records could be returned when using vendor web user authorization and the trip contained multiple legs assigned to the same vendor. |
TM-186768 |
tm/trips/tripNumber - Rename doorNo field to doorNumber |
Renamed doors-related field in the trips API to doorNumber. |
Finance API
| Case Issue | Case Name | Description |
|---|---|---|
TM-184419 |
Finance endpoints are performing DB lookup before openAPI validation (returning 404 instead of 400) |
Fixed an issue in the Finance API where the openAPI validation was not being performed before doing a database lookup on the path parameter value. |
TM-186090 |
Finance - Update PUT interlinerPayables/interlinerPayableId to use centralized logic |
The PUT interlinerPayables/{interlinerPayableId} endpoint is enhanced to use centralized logic, improving the consistency and maintainability across the system. The schema is also modified: The probillNumber field has been added to the request schema to support complete payable record updates |
TM-186257 |
Finance - APIs should not be responding with a 404 if the request itself is not valid |
Fixed an issue where finance API endpoints were responded with a 404 incorrectly when the request body itself was invalid |
TM-186775 |
Finance - POST /apInvoices/{{AP_INVOICE_ID}}/expenses and PUT /apInvoices/{{temp_apInvoiceId}}/expenses/{{temp_expenseId}} -FB#s longer than 10 chars cannot be saved to "resourceId1" or "resourceId2" |
Fixed API issue rejecting 20-character Freight Bill numbers in Expenses. Long FB Numbers now submit successfully and display correctly in Resource ID fields. |
TM-186795 |
Finance - POST /apInvoices/temp_apInvoiceId/apDriverDeductions - Admin Fee Deduction and Tax Deduction are not returned |
Fixed an issue in the Finance API regarding Driver Deductions. When a driver has a deduction code with both Admin Fee Deduction and Tax Deduction enabled, these fields were not automatically included in the response. This fix ensures both fields are returned in the response body. |
TM-186920 |
Finance - POST /apInvoices/:apInvoiceId/apDriverDeductions - fields on Driver Deductions tab are not filled in per the Deduction code’s setup in PayCon.exe |
Update POST /apInvoices/:apInvoiceId/apDriverDeductions API so after adding a new driver deduction record to an AP Invoice, the deductionQuantity, deductionRate, deductionAmount, deductionFunctionalTotal, deductionReference fields will be populated accordingly in the same way as ApNe.exe. |
TM-186924 |
Finance - PUT /apInvoices/temp_apInvoiceId/apDriverDeductions - data in fields on Driver Deductions tab is not changed per new Deduction code’s setup in PayCon.exe |
Update PUT /apInvoices/:apInvoiceId/apDriverDeductions/apDriverDeductionId API so after changing the deductionCode specified in the PUT request body, the deductionRate, deductionAmount, deductionFunctionalTotal, deductionReference fields will be re-calculated accordingly in the same way as ApNe.exe. |
TM-186954 |
Merge ART finance phase 2 into main |
Added more endpoints to the finance API https://developer.trimble.com/docs/truckmate/reference/openapi/finance/ - These are the endpoints we had before the merge Added more endpoints to the finance API
|
TM-186996 |
When AP Bill’s Currency ("currencyCode") is changed by PUT /apInvoices - 'A/P Control Acct' is not changed automatically, 'GL Rate', 'GL Amt' and 'Func.Amt' of Expense records are not changed accordingly |
Update the PUT /apInvoices/:apInvoice so that when changing the 'currencyCode' and/or 'glAccount', the following fields will be updated correctly and reflected in the response:
|
TM-187030 |
Finance - PUT /apInvoices - change "autoForeignExchange": "True" on a foreign currency AP Bill, 'Auto F/X' is checked, but 'Type' is set to null, F/E account cannot show up on Expenses tab |
Finance - PUT /apInvoices - "autoForeignExchange": "True" on a foreign currency AP Bill is working as expected. |
TM-187034 |
Finance - PUT /apInvoices - change "vendorBillDate" that is 'GL Date' on a foreign currency AP Bill when 'Auto F/X' is checked, exchange Rate is not changed per the new GL Date |
Updated the PUT /apInvoice endpoint to ensure that modifying the vendorBillDate correctly triggers the recalculation of the GL Rate, GL Amount, and Functional Amount. |
TM-187047 |
Finance - POST /apInvoices - 'Invoice Date for Aging' does not work |
payableAgingDate is now checked based on the selected vendor for ap invoices. |
TM-187101 |
Finance - PUT /apInvoices to change Vendor on AP Bill, 'Terms', 'Due Date', 'Discount Date', 'Discount %', 'Inter-Company' are NOT changed per the setup in vendor profile -Accounts Payable tab |
Finance API - Updated the PUT to /apInvoices to match with the Invoice Entry application when changing the vendor on an existing invoice. A PUT will now update the following invoice settings based on the vendor’s profile (Accounts Payable tab): 'Terms', 'Due Date', 'Discount Date', 'Discount %', and 'Inter-Company' |
TM-187148 |
interlinerPayables - adjustedSubTotal is incorrectly set when adjustedExtras and adjustedSubTotal are not passed in PUT request |
Finance API - interlinerPayables - corrected an issue where a PUT request that did not include adjustments to sub-total or extra charges would still trigger the adjustedSubTotal to calculate (incorrectly). The adjusted fields will now remain as their correct amounts. |
Master Data API
The Master Data management API allows an external system to create, retrieve, update, or delete TruckMate configuration data. Some data types include client, vendor, and driver profiles, as well as sites, zones, commodity codes, and so on.
| Case Issue | Case Name | Description |
|---|---|---|
TM-184898 |
POST clients/clientId/contacts has Incorrect request body schema |
Fixed an issue where the openAPI document for the masterData clients endpoint had the incorrect schema for the request body. |
TM-185108 |
MasterData - Vendors API - Need to add missing fields that were supported in the profiles API |
MasterData API - Added 4 properties to the Vendors API to support the following fields:
|
TM-186583 |
MasterData - POST clients - clientID is being created with leading zeros when appconfig Auto Gen Client key is on |
Fixed an issue where the ClientId width generated by ART did not respect the "Auto Key Pad Width" configuration. |
ConnectedDock API (ART)
| Case Issue | Case Name | Description |
|---|---|---|
TM-181672 |
DEV-02: ConnectedDock - Record All Supervisor Overrides For Historical Review - TB_WCD_SUP_APPROVAL |
As part of a new Supervisor Override History project for ConnectedDock, the WCD_SUP_APPROVAL table was modified to be updated for ConnectedDock use. This table previously existed as part of the old Windows CrossDock application and has now been updated for use with the modern ConnectedDock application. |
TM-181673 |
DEV-03: ConnectedDock - Record All Supervisor Overrides For Historical Review - VW_WCD_SUP_APPROVAL |
As part of a new Supervisor Override History project for ConnectedDock, the VW_WCD_SUP_APPROVAL view was added into the system for use with ConnectedDock Admin. The idea is that this view will be integrated into the ConnectedDock Admin application to allow Supervisors the ability to review all Supervisor Overrides within a given time period. |
TM-181674 |
DEV-04: ConnectedDock - Record All Supervisor Overrides For Historical Review - ART Server |
As part of a new Supervisor Override History project for ConnectedDock, the VW_WCD_SUP_APPROVAL view was added into the system for use with ConnectedDock Admin. The idea is that this view will be integrated into the ConnectedDock Admin application to allow Supervisors the ability to review all Supervisor Overrides within a given time period. |
TM-181675 |
DEV-05: ConnectedDock - Record All Supervisor Overrides For Historical Review - ConnectedDock Admin |
Added new functionality into the ConnectedDock workflow to ensure that any process within ConnectedDock that requires a Supervisor Override PIN will now be logged to the WCD_SUP_APPROVAL table (if the associated App Config to do this is set to True).This will mean that all supervisor overrides that occur within your ConnectedDock project will be stored and available for auditing at a later time. |
TM-183066 |
DEV-08: Allow Ability To Assign Manifests To Specific Dock Workers - ConnectedDock API - User Groups |
Added two new API endpoints to the ConnectedDock API library:
|
TM-183067 |
DEV-09: Allow Ability To Assign Manifests To Specific Dock Workers - ConnectedDock API - GET/ Dock Trips |
Added two new API endpoints to the ConnectedDock API library:
The purpose of these new API’s will be to allow ConnectedDock to allow the view of users assigned to specific Trips. |
TM-183068 |
DEV-10: Allow Ability To Assign Manifests To Specific Dock Workers - ConnectedDock API - POST/ Dock Trips |
Added a new API endpoint to the ConnectedDock API library. The new endpoint is:
The ConnectedDock workflow will utilize this endpoint to assign Dock Workers to Trips when requested through the ConnectedDock application directly. |
TM-183069 |
DEV-11: Allow Ability To Assign Manifests To Specific Dock Workers - ConnectedDock API - DELETE/ Dock Trips |
Added a new API endpoint to the ConnectedDock API library. The new endpoint is:
The ConnectedDock workflow will utilize this endpoint to deassign Dock Workers from Trips when requested through the ConnectedDock application directly. |
TM-183070 |
DEV-12: Allow Ability To Assign Manifests To Specific Dock Workers - ConnectedDock - Terminal Screen UI |
Added new functionality into the ConnectedDock application to correctly restrict Dock Workers from being able to access Doors they are not assigned to. If a Dock Worker is not directly assigned to a Door (that has at least one other Dock Worker assigned), the Door will be greyed out and they will be unable to open the Door via any circumstances. Trips that do not have any Dock Workers assigned can be accessed by everyone. |
TM-183071 |
DEV-13: Allow Ability To Assign Manifests To Specific Dock Workers - ConnectedDock - Manifest Screens (Loading/Unloading) |
Added new functionality into the ConnectedDock application to correctly restrict Dock Workers from being able to access Doors they are not assigned to. If a Dock Worker is not directly assigned to a Door (that has at least one other Dock Worker assigned), the Door will be greyed out and they will be unable to open the Door via any circumstances. Trips that do not have any Dock Workers assigned can be accessed by everyone. |
TM-183072 |
DEV-14: Allow Ability To Assign Manifests To Specific Dock Workers - ConnectedDock - Dock Worker Assignment - Terminal Screen UI |
Added a terminal screen to the Connected Dock application as a part of the workflow to allow the ability to assign manifests to specific dock workers. |
TM-183073 |
DEV-15: Allow Ability To Assign Manifests To Specific Dock Workers - ConnectedDock - Dock Worker Assignment - User Assignment Popup |
1.Trip Assignment Configuration Controlled by the "Allow Trip Assignment" configuration setting in MMDisp When enabled, restricts trip access based on user assignments When disabled, all users have open access to all trips (existing behavior) 2.User Assignment Popup
3.Access Control & Restrictions
4.Visual Indicators
5.Enhanced Security
|
TM-185007 |
DEV-13: Checklist Project - ConnectedDock Needs Adjustment To Respect Checklist SQL Filter |
Added new functionality into the ConnectedDock application to correctly restrict Dock Workers from being able to access Doors they are not assigned to.If a Dock Worker is not directly assigned to a Door (that has at least one other Dock Worker assigned), the Door will be greyed out and they will be unable to open the Door via any circumstances. Trips that do not have any Dock Workers assigned can be accessed by everyone. |
TM-185293 |
Refactored the CL_TRIP_FILTER_PASSES function to improve logic and performance in Connected Dock. |
|
TM-185530 |
DEV-16: Enhance GET /users endpoint needed for User Assignment Popup |
Made a modification to the ConnectedDock API to add additional fields to the response parameter for the GET /users call.The following fields have been added:
|
TM-185652 |
DEV-18: Allow Ability To Assign Manifests To Specific Dock Workers - ConnectedDock - Dock Worker Assignment - User Assignment Popup pt 2 |
ConnectedDock now supports assigning trips (manifests) to specific dock workers or user groups. When enabled, only assigned users can access and work with those trips, improving workflow control and security. Key Features 1.Trip Assignment Configuration
2.User Assignment Popup
3.Access Control & Restrictions
4.Visual Indicators
|
TM-185973 |
Pallet Group Loading functionality not working when item loaded via Pallet Group screen (Future Terminal Mode) |
Fixed an issue within ConnectedDock where attempting to load items to a Pallet Group located on a Trip when 'Future Terminal' was the chosen App Config option could result in the bills not being loaded properly to the Trip. This could lead to the scenario where the bill was still DOCKED even though the item was loaded to the Trip. This has been corrected to ensure that all loading elements will fire correctly when this action occurs. |
TM-185996 |
Pallet Group Loading functionality not working when item loaded via Pallet Group screen (No Restriction, Delivery Terminal Mode) |
Fixed an issue within ConnectedDock where attempting to load items to a Pallet Group located on a Trip when 'Future Terminal' was the chosen App Config option could result in the bills not being loaded properly to the Trip. This could lead to the scenario where the bill was still DOCKED even though the item was loaded to the Trip.This has been corrected to ensure that all loading elements will fire correctly when this action occurs. |
TM-186010 |
Initial Scans to Unload/Load items is not being completed |
Fixed an issue within ConnectedDock where attempting to unload or load items on a Zebra device would not always correctly update the screen accordingly. The item would remain on the screen as if it had not been loaded or unloaded, even though behind the scenes this action had occurred.This has been corrected - the UI will now correctly sync with the action in ART ensuring there is no discrepancy between the two. |
TM-186395 |
Unable to access OSD event after creating in ConnectedDock |
Fixed an issue where user was unable to access OSD event after creating an OSD record in ConnectedDock. |
TM-186404 |
ConnectedDock - User Assignment Restriction Not Behaving as Expected on Terminal Location Screen |
Fixed an issue where a user was able to load an item to a trip at a door they were not assigned to. |
TM-186405 |
ConnectedDock - Receiving Freight Screen Greys Out Checkmark Button After Failed Load |
Re-enable the unload button when ConnectedDock correctly prevents Dock Workers from accessing unassigned Doors, so users can re-select the location and unload the item. |
TM-186406 |
ConnectedDock - Crossdocking Freight Not Obeying User Assignment Restriction Logic |
Unloading items to unauthorized doors is now restricted. If a user attempts to unload to a door assigned to another dock worker, an error message will be displayed. |
TM-187417 |
After parking a trip at the Door on CD the trip can not be accessed |
Fixed issue where the Terminal screen could not interact with doors/trips after a swipe action (e.g., Park at Door), which required users to log out/in to regain access. |
Other APIs
| Case Issue | Case Name | Description |
|---|---|---|
TM-177817 |
Reworks related to appointments functionality GET and POST /appointments |
|
TM-178699 |
Removed the Freight Bill Import option in ARTAdmin so it can no longer be setup as a service. Existing instances of freight bill import will no longer work as of the TruckMate 25.4 release. The TruckMate REST API (/tm) should be used going forward to perform operational workflows such as creating orders through an API. |
Removed the Freight Bill Import option in ARTAdmin so it can no longer be setup as a service. Existing instances of freight bill import will no longer work as of the TruckMate 25.4 release. The TruckMate REST API (/tm) should be used going forward to perform operational workflows such as creating orders through an API. |
TM-184208 |
Visibility - Art - add shipment event payload to ART Visibility Service |
Visibility - Art - add shipmentStatus event payload to ART Visibility Service. |
TM-184313 |
Visibility - ART - add stopstatus event payload to ART Visibility Service |
Visibility - Art - add stopStatus event payload to ART Visibility Service. |
TM-184498 |
Updated the Trimble Visibility outbound shipment model to include the userDefinedValues section that contains the requested equipment value for a given order. |
Updated the Trimble Visibility outbound shipment model to include the userDefinedValues section that contains the requested equipment value for a given order. |
TM-184501 |
Trimble Visibility - Change IsHazardous field to return enum value (0,1) instead of True or False |
For compatibility with Trimble Visibility standards, we changed the 'IsHazardous' field to return (0,1) instead of True or False. |
TM-184894 |
Visibility - Add support for visibility listener service to authenticate with ART |
Added support for the Visibility listener service in TTC to be able to authenticate with the TruckMate REST API service (ART). |
TM-185218 |
Visibility - Add support for visibility listener service to authenticate with ART |
Added support for the Visibility listener service in TTC to be able to authenticate with the TruckMate REST API service (ART). |
TM-185454 |
ART - Implement client credentials authentication for TTC services |
Added support for Trimble Transportation Cloud (TTC) client credential tokens to authenticate with TruckMate REST API services (ART). |
TM-186109 |
PUT /appointment/:id returns a 404 |
Fixed an issue where the PUT /appointment/:id field was incorrectly returning a 404 for a valid record. |
TM-186197 |
Adjust Client Error Responses (4xx) to match Trimble standards |
Made adjustments to the client error responses to match trimble standards.
|
TM-187190 |
Status Changer triggers Access Violation Error on DOCKED status job |
Modified 'Status Changer' service to handle applying 'DOCKED' to a freight bill that is not on a trip without giving an error. |