Skip to main content

API Changes January 12/2026 Release 25.17

S
Written by Shipwell TMS Support
Updated over a week ago

New Features

Next Stop Metadata Tracking

Added comprehensive next_stop metadata to shipment responses, providing enhanced visibility into upcoming stops and their details.

What's New:

  • next_stop - Complete information about the next stop in the shipment route, including location, timing, and appointment details

Enhanced Endpoints (27 changes):

Shipments:

  • GET /shipments/ (response)

  • POST /shipments/ (request & response)

  • GET /shipments/external/ (response)

  • GET /shipments/external/{shipmentId}/ (response)

  • GET /shipments/{shipmentId}/ (response)

  • PUT /shipments/{shipmentId}/ (request & response)

  • PUT /shipments/{shipmentId}/add-orders/ (response)

  • POST /shipments/{shipmentId}/auto-book/ (response)

  • POST /shipments/{shipmentId}/award-quote/ (response)

  • POST /shipments/{shipmentId}/cancel/ (response)

  • POST /shipments/{shipmentId}/initiate-check-call/ (response)

  • PUT /shipments/{shipmentId}/remove-orders/{orderId}/ (response)

Shipment Pickups:

  • GET /shipments/pickups/ (response)

  • POST /shipments/pickups/ (response)

  • GET /shipments/pickups/{shipmentPickupId}/ (response)

  • PUT /shipments/pickups/{shipmentPickupId}/ (request & response)

  • POST /shipments/pickups/{shipmentPickupId}/cancel/ (response)

Quoting - Spot Negotiations:

  • GET /quoting/spotnegotiations/spot-negotiations/ (response)

  • GET /quoting/spotnegotiations/spot-negotiations/{spotNegotiationId}/ (response)

  • PUT /quoting/spotnegotiations/spot-negotiations/{spotNegotiationId}/ (request & response)

Carriers:

  • GET /carriers/{carrierId}/power-units/{powerUnitId}/shipments/ (response)

Purchase Orders:

  • POST /purchase-orders/build-shipment/ (response)

  • PUT /purchase-orders/update-built-shipment/ (response)

Benefits:

  • Complete visibility into next stop information

  • Enhanced shipment tracking and monitoring

  • Better appointment and delivery management

  • Improved customer communication and exception handling


Shipper Relationship Financial Tracking

Added support for credit currency and outstanding balance tracking in shipper relationships, enabling better financial management and credit monitoring.

What's New:

  • credit_currency - The currency used for credit terms with the shipper

  • outstanding_balance - Current outstanding balance for the shipper relationship

Enhanced Endpoints (12 changes):

  • GET /brokerages/{brokerageId}/shipper-relationships/ (response)

  • POST /brokerages/{brokerageId}/shipper-relationships/ (request & response)

  • GET /brokerages/{brokerageId}/shipper-relationships/{shipperRelationshipId}/ (response)

  • PUT /brokerages/{brokerageId}/shipper-relationships/{shipperRelationshipId}/ (request & response)

Benefits:

  • Track credit exposure across shipper relationships

  • Support multi-currency credit arrangements

  • Monitor outstanding balances in real-time

  • Improve financial reporting and credit management


Credit Limit Override Support

Added support for credit limit overrides on shipment relationships and carrier assignments, enabling per-shipment credit management that overrides default relationship limits.

What's New:

  • credit_limit_override - Override the default credit limit for specific shipments or carrier assignments

  • Available in both customer relationships (relationship_to_customer) and vendor relationships (relationship_to_vendor)

Enhanced Endpoints (77 changes):

Shipments:

  • GET /shipments/ (response)

  • POST /shipments/ (request & response)

  • GET /shipments/external/ (response)

  • GET /shipments/external/{shipmentId}/ (response)

  • GET /shipments/{shipmentId}/ (response)

  • PUT /shipments/{shipmentId}/ (request & response)

  • PUT /shipments/{shipmentId}/add-orders/ (response)

  • POST /shipments/{shipmentId}/auto-book/ (response)

  • POST /shipments/{shipmentId}/award-quote/ (request & response with new 400 status)

  • POST /shipments/{shipmentId}/cancel/ (response)

  • POST /shipments/{shipmentId}/initiate-check-call/ (response)

  • PUT /shipments/{shipmentId}/remove-orders/{orderId}/ (response)

Carrier Assignments:

  • GET /shipments/{shipmentId}/carrier-assignments/ (response)

  • POST /shipments/{shipmentId}/carrier-assignments/ (request & response with new 400 status)

  • GET /shipments/{shipmentId}/carrier-assignments/{carrierAssignmentId}/ (response)

  • PUT /shipments/{shipmentId}/carrier-assignments/{carrierAssignmentId}/ (request & response)

Shipment Pickups:

  • GET /shipments/pickups/ (response)

  • POST /shipments/pickups/ (response)

  • GET /shipments/pickups/{shipmentPickupId}/ (response)

  • PUT /shipments/pickups/{shipmentPickupId}/ (request & response)

  • POST /shipments/pickups/{shipmentPickupId}/cancel/ (response)

Quoting - Spot Negotiations:

  • GET /quoting/spotnegotiations/spot-negotiations/ (response)

  • GET /quoting/spotnegotiations/spot-negotiations/{spotNegotiationId}/ (response)

  • PUT /quoting/spotnegotiations/spot-negotiations/{spotNegotiationId}/ (request & response)

Carriers:

  • GET /carriers/{carrierId}/power-units/{powerUnitId}/shipments/ (response)

Purchase Orders:

  • POST /purchase-orders/build-shipment/ (response)

  • PUT /purchase-orders/update-built-shipment/ (response)

Benefits:

  • Override default credit limits for high-value or special circumstances shipments

  • Granular credit management at the shipment level

  • Flexible credit controls for carrier assignments

  • Better risk management and credit exposure control


Expanded Custom Field Types

Added support for additional field types in custom fields, enabling richer data capture and validation.

What's New:

  • DATE - Date field type for date values

  • FLOAT - Floating-point number field type for decimal values

  • INTEGER - Integer field type for whole numbers (can be positive, negative, and zero)

  • TIME - Time field type for time values

Enhanced Endpoints (24 changes):

  • GET /companies/{companyId}/custom-fields/ (response)

  • POST /companies/{companyId}/custom-fields/ (request & response)

  • GET /companies/{companyId}/custom-fields/{customFieldId}/ (response)

  • PUT /companies/{companyId}/custom-fields/{customFieldId}/ (request & response)

Benefits:

  • More precise data validation for numeric and date/time fields

  • Better user experience with type-appropriate input controls

  • Improved data quality and consistency

  • Support for a wider range of business data requirements


Improvements

Enhanced Query Filtering

Expanded query parameter support for location-based filters to accept both single values and arrays, enabling more flexible and powerful search capabilities.

What's Enhanced: Query parameters now accept both string and array types for:

  • delivery_stops__contains

  • delivery_stops_company_name__contains

  • pickup_stops__contains

  • pickup_stops_company_name__contains

Enhanced Endpoints (16 changes):

  • GET /quoting/loadboard/ (all 4 parameters)

  • GET /shipments/ (all 4 parameters)

Benefits:

  • Search for multiple locations in a single query

  • Reduce API calls when filtering by multiple criteria

  • More efficient batch operations and reporting

  • Improved developer experience with flexible query options

Schema Cleanup

Removed deprecated schemas that are no longer used:

  • NextStopAppointmentStatus

  • RebidSelectedCarrier

  • RebidSelectedCarriersResponse

  • RebidSelectionUpdateRequest

  • SendRebidNotificationsRequest


Usage Examples

Shipper Relationship with Financial Tracking

Creating a shipper relationship with credit tracking:

POST /brokerages/{brokerageId}/shipper-relationships/ { "shipper_id": "shipper_123", "credit_currency": "USD", "outstanding_balance": 5000.00, "credit_limit": 50000.00 }

Response:

{ "id": "relationship_456", "shipper_id": "shipper_123", "credit_currency": "USD", "outstanding_balance": 5000.00, "credit_limit": 50000.00, "created_at": "2025-01-07T12:00:00Z" }

Next Stop Metadata

Shipment response with next stop information:

GET /shipments/{shipmentId}/ { "id": "shipment_789", "status": "in_transit", "metadata": { "next_stop": { "stop_id": "stop_123", "appointment_status": "confirmed", "location": "Chicago, IL", "scheduled_date": "2025-01-10" }, ... }, "stops": [...] }

Credit Limit Override

Awarding a quote with credit limit override:

POST /shipments/{shipmentId}/award-quote/ { "quote_id": "quote_456", "credit_limit_override": 75000.00 }

Creating a carrier assignment with credit limit override:

POST /shipments/{shipmentId}/carrier-assignments/ { "carrier_id": "carrier_789", "credit_limit_override": 100000.00, "assignment_type": "primary" }

Response includes the override in relationship data:

{ "id": "assignment_123", "carrier_id": "carrier_789", "credit_limit_override": 100000.00, "shipment": { "id": "shipment_789", "relationship_to_vendor": { "credit_limit_override": 100000.00, ... } } }

Custom Field Types

Creating custom fields with new types:

POST /companies/{companyId}/custom-fields/ { "name": "Delivery Date", "field_type": "DATE", "entity_type": "shipment" }

POST /companies/{companyId}/custom-fields/ { "name": "Weight", "field_type": "FLOAT", "entity_type": "order" }

POST /companies/{companyId}/custom-fields/ { "name": "Package Count", "field_type": "INTEGER", "entity_type": "shipment" }

POST /companies/{companyId}/custom-fields/ { "name": "Pickup Time", "field_type": "TIME", "entity_type": "stop" }

Enhanced Array-Based Query Filtering

Single value (existing functionality):

GET /shipments/?pickup_stops__contains=Chicago

Multiple values (new functionality):

GET /shipments/?pickup_stops__contains=Chicago&pickup_stops__contains=Detroit&pickup_stops__contains=Milwaukee

Or using array notation:

GET /shipments/?pickup_stops__contains[]=Chicago&pickup_stops__contains[]=Detroit

Migration Guide

Optional Enhancements

All changes in this release are backward compatible and optional to adopt.

  1. Use Next Stop Metadata (Optional)

  • Read next_stop from shipment metadata responses

  • Integrate next stop information into your tracking and monitoring systems

  • Enhance customer communication with detailed next stop information

  1. Adopt Shipper Relationship Financial Tracking (Optional)

If you manage credit terms and balances for shippers:

  • Add credit_currency when creating/updating shipper relationships

  • Include outstanding_balance to track current balances

  • Update your financial tracking to consume these fields from API responses

  1. Use Credit Limit Override for Granular Credit Control (Optional)

If you manage credit limits for shipments and carriers:

  • Include credit_limit_override when awarding quotes or creating carrier assignments for special circumstances

  • Read credit_limit_override from relationship data in shipment responses

  • Integrate override values into your credit management and risk assessment systems

  1. Leverage New Custom Field Types (Optional)

  • Update custom field configurations to use new field types (DATE, FLOAT, INTEGER, TIME)

  • Implement type-specific validation in your integrations

  • Provide appropriate input controls based on field types

  • Take advantage of improved data quality and validation

  1. Leverage Enhanced Query Filtering (Optional)

  • Update location-based searches to use array parameters for multi-location queries

  • Optimize batch operations with combined filters

  • Reduce API call volume for multi-criteria searches


Backward Compatibility

Fully Backward Compatible: This release contains no breaking changes. All existing integrations will continue to work without modification.

New Optional Features:

  • New next_stop metadata property is optional

  • New credit_currency and outstanding_balance fields are optional

  • New credit_limit_override field is optional

  • New custom field types (DATE, FLOAT, INTEGER, TIME) are additive enum values

  • Enhanced query parameters maintain existing single-value functionality

  • Removed schemas were already deprecated

Potential Client Impact:

  • Custom field type enum expansion: Clients with strict enum validation may need updates to accept new field types

  • New 400 error responses: POST /shipments/{shipmentId}/award-quote/ and POST /shipments/{shipmentId}/carrier-assignments/ now include 400 status responses for validation errors

Testing Recommendations:

  1. Test shipment retrieval to verify next stop metadata is available

  2. Test custom field creation with new field types if you plan to use them

  3. Verify credit limit override functionality if you plan to implement it

  4. Consider adopting optional enhancements based on your business needs

Squad

Jira #

Bug or Enhancement

Severity

Description

Customer

Squad

Jira #

Bug or Enhancement

Severity

Description

Customer

Story

-

Accessorial Charges Report Missing AAJ Accessorials

Foundation Building Materials

Story

-

Tive - Send Shipment Short Name

-

Bug

-

Tive - Disconnect Device

-

Feature Request

-

Tive - Location Bypass

Beaver Street Fisheries

Story

-

Tive - Use Tive ETA

Beaver Street Fisheries

Bug

-

Tive - Temperature data incorrect

Beaver Street Fisheries

Story

-

Product Book - Permission Updates

Dexter Axle, Marcal Paper

Story

-

Product Book - Set Default Permissions

-

Story

-

Tracking Map - Missing location pings

-

Bug

-

Tracking Map - Tracking Source

Terratech Services

Bug

-

MacroPoint - Carrier Changes Not Generating MP Shipments

Eastern Quality Foods

Story

-

MacroPoint - Add MacroPoint ETA text to ETA pill

Eastern Quality Foods

Feature Request

-

Add a new Equipment Type

Ecore International

Bug

-

ELD Tracking Issues for Power Units (Samsara)

Terratech Services

Bug

-

Unable to Save Reference Numbers when updated via the Shipment References screen.

LiveTrends Design Group - SaaS

Bug

-

Opentrack updates to Cancelled and Active Shipments

Shandex Corporation

Bug

-

[ANDROID][5.3.15] Crash from faulty LD connection

-

Bug

-

[ANDROID][5.3.16] Add LaunchDarkly flag for switching between maps providers

-

Bug

-

[iOS][5.7.3] "Report a Problem" button not working

-

Bug

-

[iOS][5.7.4] Error in TrimbleMaps

-

Bug

-

[iOS][5.7.5] Error while navigating in Load Board Screen

-

Feature Request

Go Live Blocker

Add Appointment Filter to Shipment Dashboard

TerraTech, Select chemistry

Story

Go Live Blocker

Leverage payment terms within in-app invoice creation form when present for the party being invoiced (i.e. the carrier, the customer)

Primo

Feature Request

Go Live Blocker

Add Appointment Status field as an available column within the Shipment Dashboard.

TerraTech

Story

-

Display a new Payment Processing Information user permission

-

Story

Go Live Blocker

Add BOL number and groups onto freight invoice invoiceable in Settlement and top-level freight invoice object

-

Story

-

Add “Next Stop Appointment Status” Filter to Shipment Dashboard

-

Bug

-

Adding an additional Delivery Address to a saved order dashboard overwrites previously saved location filters.

Reily Foods

Story

-

Add in a NetSuite Suiteapp Global Field Configuration for Address-Level items when info is missing

VHG

Story

-

Create a company power user permission that can be assigned to users and initially in process of being used for overriding customer credit limit shipment booking

HFS

Bug

-

Carrier Exclusion Rules impacting ODFL rate visibility in the UI.

Reily Foods

Bug

-

Incorrect carrier name displayed

Point Blank Enterprises

Bug

-

Push to Routing Guide Bugs - Multi-Stop Does Not Reflect First and Last Stop When using Contract Match Logic Flag & Routing Guide Not Using the Planned Ship Date to pull correct Routing Guides.

Dexter Axle

Feature Request

-

[BE] Add support to edit contract lanes via API

Whole Foods Market, Inc.

Story

-

[Pando]-Round-Trip-Enhancments-CHR

Kirchhoff


Did this answer your question?