---
title: "Search shipments"
method: POST
path: "/shipments/search"
tags: ["Shipments"]
---

# Search shipments

`POST /shipments/search`

Search shipments using OpenSearch-powered full-text and field-specific search.

This endpoint provides fast, indexed search across shipment data with support for:
- Full-text search across multiple fields (references, locations, parties)
- Field-specific filtering with various operators
- Sorting and pagination
- Saved search preferences

**Note:** Only active (non-deleted) shipments are searchable. Soft-deleted records are
automatically excluded from all search results.

**Response Formats:**
- `flat` (default): Returns indexed fields only for faster performance
- `full`: Returns complete shipment objects with all relationships

## Request body

- ShipmentSearchRequest — Request body for searching shipments
  - `criteria` ShipmentSearchCriteria — Search criteria for filtering shipments. Note: Only active (non-deleted) shipments are searchable.
    - `id` UUIDSearchCriteria — Search criteria for UUID fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any UUID in array - `NOT_ONE_OF`: Does not match any UUID in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of UUIDs for ONE_OF or NOT_ONE_OF operators
    - `friendlyId` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `status` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `orderStatus` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `loadStatuses` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `mode` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `tonu` BooleanSearchCriteria — Search criteria for boolean fields
      - `operator` 'TRUE' | 'FALSE', required — Search operator: - `TRUE`: Field is true - `FALSE`: Field is false
    - `pickUp` TextSearchCriteria — Search criteria for text fields (supports wildcards and partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'STARTS_WITH' | 'ENDS_WITH' | 'INCLUDES' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `STARTS_WITH`: Begins with prefix - `ENDS_WITH`: Ends with suffix - `INCLUDES`: Contains substring - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `pickUpCity` TextSearchCriteria — Search criteria for text fields (supports wildcards and partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'STARTS_WITH' | 'ENDS_WITH' | 'INCLUDES' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `STARTS_WITH`: Begins with prefix - `ENDS_WITH`: Ends with suffix - `INCLUDES`: Contains substring - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `pickUpState` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `pickUpZipCode` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `pickUpCountry` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `dropOff` TextSearchCriteria — Search criteria for text fields (supports wildcards and partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'STARTS_WITH' | 'ENDS_WITH' | 'INCLUDES' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `STARTS_WITH`: Begins with prefix - `ENDS_WITH`: Ends with suffix - `INCLUDES`: Contains substring - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `dropOffCity` TextSearchCriteria — Search criteria for text fields (supports wildcards and partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'STARTS_WITH' | 'ENDS_WITH' | 'INCLUDES' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `STARTS_WITH`: Begins with prefix - `ENDS_WITH`: Ends with suffix - `INCLUDES`: Contains substring - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `dropOffState` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `dropOffZipCode` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `dropOffCountry` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `pickUpStartDatetime` DatetimeSearchCriteria — Search criteria for datetime fields. Supports both absolute datetime values and relative time expressions.
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'BEFORE' | 'AFTER' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `BEFORE`: Before datetime - `AFTER`: After datetime - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` string, date-time — Absolute datetime for EQUALS, NOT_EQUALS
      - `min` string, date-time — Minimum datetime for BETWEEN or NOT_BETWEEN
      - `max` string, date-time — Maximum datetime for BETWEEN or NOT_BETWEEN
      - `valueRelative` integer — Relative time from now (negative for past, positive for future). Example: -7 with WEEK unit means 7 weeks ago.
      - `valueRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
      - `minRelative` integer — Relative time for min boundary
      - `minRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
      - `maxRelative` integer — Relative time for max boundary
      - `maxRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
    - `dropOffStartDatetime` DatetimeSearchCriteria — Search criteria for datetime fields. Supports both absolute datetime values and relative time expressions.
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'BEFORE' | 'AFTER' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `BEFORE`: Before datetime - `AFTER`: After datetime - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` string, date-time — Absolute datetime for EQUALS, NOT_EQUALS
      - `min` string, date-time — Minimum datetime for BETWEEN or NOT_BETWEEN
      - `max` string, date-time — Maximum datetime for BETWEEN or NOT_BETWEEN
      - `valueRelative` integer — Relative time from now (negative for past, positive for future). Example: -7 with WEEK unit means 7 weeks ago.
      - `valueRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
      - `minRelative` integer — Relative time for min boundary
      - `minRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
      - `maxRelative` integer — Relative time for max boundary
      - `maxRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
    - `bookedAt` DatetimeSearchCriteria — Search criteria for datetime fields. Supports both absolute datetime values and relative time expressions.
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'BEFORE' | 'AFTER' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `BEFORE`: Before datetime - `AFTER`: After datetime - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` string, date-time — Absolute datetime for EQUALS, NOT_EQUALS
      - `min` string, date-time — Minimum datetime for BETWEEN or NOT_BETWEEN
      - `max` string, date-time — Maximum datetime for BETWEEN or NOT_BETWEEN
      - `valueRelative` integer — Relative time from now (negative for past, positive for future). Example: -7 with WEEK unit means 7 weeks ago.
      - `valueRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
      - `minRelative` integer — Relative time for min boundary
      - `minRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
      - `maxRelative` integer — Relative time for max boundary
      - `maxRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
    - `shipperId` UUIDSearchCriteria — Search criteria for UUID fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any UUID in array - `NOT_ONE_OF`: Does not match any UUID in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of UUIDs for ONE_OF or NOT_ONE_OF operators
    - `shipperName` TextSearchCriteria — Search criteria for text fields (supports wildcards and partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'STARTS_WITH' | 'ENDS_WITH' | 'INCLUDES' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `STARTS_WITH`: Begins with prefix - `ENDS_WITH`: Ends with suffix - `INCLUDES`: Contains substring - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `carrierIds` UUIDSearchCriteria — Search criteria for UUID fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any UUID in array - `NOT_ONE_OF`: Does not match any UUID in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of UUIDs for ONE_OF or NOT_ONE_OF operators
    - `carrierNames` TextSearchCriteria — Search criteria for text fields (supports wildcards and partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'STARTS_WITH' | 'ENDS_WITH' | 'INCLUDES' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `STARTS_WITH`: Begins with prefix - `ENDS_WITH`: Ends with suffix - `INCLUDES`: Contains substring - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `primaryRepId` UUIDSearchCriteria — Search criteria for UUID fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any UUID in array - `NOT_ONE_OF`: Does not match any UUID in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of UUIDs for ONE_OF or NOT_ONE_OF operators
    - `primaryRepName` TextSearchCriteria — Search criteria for text fields (supports wildcards and partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'STARTS_WITH' | 'ENDS_WITH' | 'INCLUDES' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `STARTS_WITH`: Begins with prefix - `ENDS_WITH`: Ends with suffix - `INCLUDES`: Contains substring - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `bookingRepIds` UUIDSearchCriteria — Search criteria for UUID fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any UUID in array - `NOT_ONE_OF`: Does not match any UUID in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of UUIDs for ONE_OF or NOT_ONE_OF operators
    - `bookingRepNames` TextSearchCriteria — Search criteria for text fields (supports wildcards and partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'STARTS_WITH' | 'ENDS_WITH' | 'INCLUDES' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `STARTS_WITH`: Begins with prefix - `ENDS_WITH`: Ends with suffix - `INCLUDES`: Contains substring - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `groupId` UUIDSearchCriteria — Search criteria for UUID fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any UUID in array - `NOT_ONE_OF`: Does not match any UUID in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of UUIDs for ONE_OF or NOT_ONE_OF operators
    - `groupName` TextSearchCriteria — Search criteria for text fields (supports wildcards and partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'STARTS_WITH' | 'ENDS_WITH' | 'INCLUDES' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `STARTS_WITH`: Begins with prefix - `ENDS_WITH`: Ends with suffix - `INCLUDES`: Contains substring - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `equipmentType` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `weight` FloatSearchCriteria — Search criteria for float/decimal fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'LESS_THAN' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `GREATER_THAN`: Greater than value - `LESS_THAN`: Less than value - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` number, float — Single value for EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN
      - `min` number, float — Minimum value for BETWEEN or NOT_BETWEEN
      - `max` number, float — Maximum value for BETWEEN or NOT_BETWEEN
    - `totalMiles` FloatSearchCriteria — Search criteria for float/decimal fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'LESS_THAN' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `GREATER_THAN`: Greater than value - `LESS_THAN`: Less than value - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` number, float — Single value for EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN
      - `min` number, float — Minimum value for BETWEEN or NOT_BETWEEN
      - `max` number, float — Maximum value for BETWEEN or NOT_BETWEEN
    - `revenue` FloatSearchCriteria — Search criteria for float/decimal fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'LESS_THAN' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `GREATER_THAN`: Greater than value - `LESS_THAN`: Less than value - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` number, float — Single value for EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN
      - `min` number, float — Minimum value for BETWEEN or NOT_BETWEEN
      - `max` number, float — Maximum value for BETWEEN or NOT_BETWEEN
    - `cost` FloatSearchCriteria — Search criteria for float/decimal fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'LESS_THAN' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `GREATER_THAN`: Greater than value - `LESS_THAN`: Less than value - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` number, float — Single value for EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN
      - `min` number, float — Minimum value for BETWEEN or NOT_BETWEEN
      - `max` number, float — Maximum value for BETWEEN or NOT_BETWEEN
    - `profit` FloatSearchCriteria — Search criteria for float/decimal fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'LESS_THAN' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `GREATER_THAN`: Greater than value - `LESS_THAN`: Less than value - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` number, float — Single value for EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN
      - `min` number, float — Minimum value for BETWEEN or NOT_BETWEEN
      - `max` number, float — Maximum value for BETWEEN or NOT_BETWEEN
    - `profitMargin` FloatSearchCriteria — Search criteria for float/decimal fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'LESS_THAN' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `GREATER_THAN`: Greater than value - `LESS_THAN`: Less than value - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` number, float — Single value for EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN
      - `min` number, float — Minimum value for BETWEEN or NOT_BETWEEN
      - `max` number, float — Maximum value for BETWEEN or NOT_BETWEEN
    - `referenceValues` TextSearchCriteria — Search criteria for text fields (supports wildcards and partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'STARTS_WITH' | 'ENDS_WITH' | 'INCLUDES' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `STARTS_WITH`: Begins with prefix - `ENDS_WITH`: Ends with suffix - `INCLUDES`: Contains substring - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `customerRef` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `bol` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `po` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `quoteId` UUIDSearchCriteria — Search criteria for UUID fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any UUID in array - `NOT_ONE_OF`: Does not match any UUID in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of UUIDs for ONE_OF or NOT_ONE_OF operators
    - `quoteFriendlyId` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `arInvoiceId` UUIDSearchCriteria — Search criteria for UUID fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any UUID in array - `NOT_ONE_OF`: Does not match any UUID in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of UUIDs for ONE_OF or NOT_ONE_OF operators
    - `arInvoiceFriendlyId` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `apInvoiceIds` UUIDSearchCriteria — Search criteria for UUID fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any UUID in array - `NOT_ONE_OF`: Does not match any UUID in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of UUIDs for ONE_OF or NOT_ONE_OF operators
    - `apInvoiceFriendlyIds` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `createdAt` DatetimeSearchCriteria — Search criteria for datetime fields. Supports both absolute datetime values and relative time expressions.
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'BEFORE' | 'AFTER' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `BEFORE`: Before datetime - `AFTER`: After datetime - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` string, date-time — Absolute datetime for EQUALS, NOT_EQUALS
      - `min` string, date-time — Minimum datetime for BETWEEN or NOT_BETWEEN
      - `max` string, date-time — Maximum datetime for BETWEEN or NOT_BETWEEN
      - `valueRelative` integer — Relative time from now (negative for past, positive for future). Example: -7 with WEEK unit means 7 weeks ago.
      - `valueRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
      - `minRelative` integer — Relative time for min boundary
      - `minRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
      - `maxRelative` integer — Relative time for max boundary
      - `maxRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
    - `orderCreatedAt` DatetimeSearchCriteria — Search criteria for datetime fields. Supports both absolute datetime values and relative time expressions.
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'BEFORE' | 'AFTER' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `BEFORE`: Before datetime - `AFTER`: After datetime - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` string, date-time — Absolute datetime for EQUALS, NOT_EQUALS
      - `min` string, date-time — Minimum datetime for BETWEEN or NOT_BETWEEN
      - `max` string, date-time — Maximum datetime for BETWEEN or NOT_BETWEEN
      - `valueRelative` integer — Relative time from now (negative for past, positive for future). Example: -7 with WEEK unit means 7 weeks ago.
      - `valueRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
      - `minRelative` integer — Relative time for min boundary
      - `minRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
      - `maxRelative` integer — Relative time for max boundary
      - `maxRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
  - `pagination` SearchPaginationInput — Pagination options for search requests
    - `pageNumber` integer — Page number (1-based)
    - `pageSize` integer — Number of results per page (max 250)
  - `sort` SearchSortOption[] — Sort options for the search results
    - `field` string, required — Field name to sort by (must be an indexed field)
    - `order` 'asc' | 'desc', required — Sort direction (ascending or descending)
  - `savedSearch` SavedSearchLookup — Reference to a saved search by ID or client key. Provide either id or key (not both).
    - `id` string, uuid — Saved search UUID
    - `key` string — Client-defined key for the saved search
  - `format` 'flat' | 'full' — Response format: - flat: Returns only indexed fields (default, faster) - full: Returns complete shipment objects

## Response `200`

Successful search results

- ShipmentSearchResponse — Response for shipment search requests
  - `data` union[], required — Search results - either flat rows or full shipment objects based on format parameter
    - union
      - ShipmentSearchRow — Flattened shipment data from search index
        - `object` 'SHIPMENT_SEARCH_ROW', required — Object type identifier
        - `id` string, uuid, required
        - `friendlyId` string, required
        - `status` string, required
        - `orderStatus` string, nullable
        - `mode` string, nullable
        - `tonu` boolean, nullable
        - `pickUp` string, nullable — Origin city, state
        - `pickUpCity` string, nullable
        - `pickUpState` string, nullable
        - `pickUpZipCode` string, nullable
        - `pickUpCountry` string, nullable
        - `dropOff` string, nullable — Destination city, state
        - `dropOffCity` string, nullable
        - `dropOffState` string, nullable
        - `dropOffZipCode` string, nullable
        - `dropOffCountry` string, nullable
        - `pickUpStartDatetime` string, date-time, nullable
        - `dropOffStartDatetime` string, date-time, nullable
        - `bookedAt` string, date-time, nullable
        - `shipperId` string, uuid, required
        - `shipperName` string, required
        - `carrierIds` string[]
        - `carrierNames` string[]
        - `primaryRepId` string, uuid, nullable
        - `primaryRepName` string, nullable
        - `groupId` string, uuid, nullable
        - `groupName` string, nullable
        - `equipmentType` string[]
        - `weight` number, nullable
        - `totalMiles` number
        - `stopsCount` integer
        - `revenue` number
        - `cost` number
        - `profit` number, nullable
        - `profitMargin` number, nullable
        - `referenceValues` string[]
        - `createdAt` string, date-time, required
        - `orderCreatedAt` string, date-time
      - Shipment
        - `id` string, uuid, required
        - `key` string, required — Human-readable shipment ID (e.g., "SHP-12345")
        - `status` 'DRAFT' | 'TENDER_PENDING' | 'ON_HOLD' | 'PLANNING' | 'SELECTED' | 'BOOKED' | 'DISPATCHED' | 'LOADING' | 'PICKED_UP' | 'IN_TRANSIT' | 'UNLOADING' | 'ARRIVED_AT_DELIVERY_TERMINAL' | 'OUT_FOR_DELIVERY' | 'RECOVERED' | 'DELIVERED' | 'CANCELED' | 'TENDER_REJECTED', required — Current status of the shipment lifecycle. **Pre-transit:** - `DRAFT`: Shipment being created - `TENDER_PENDING`: Awaiting carrier tender acceptance - `TENDER_REJECTED`: Carrier rejected the tender - `ON_HOLD`: Shipment temporarily paused - `PLANNING`: Being planned/scheduled - `SELECTED`: Carrier selected - `BOOKED`: Carrier confirmed booking - `DISPATCHED`: Dispatched to carrier **In-transit:** - `LOADING`: Loading at pickup - `PICKED_UP`: Picked up - `IN_TRANSIT`: In transit - `UNLOADING`: Unloading at delivery - `ARRIVED_AT_DELIVERY_TERMINAL`: At delivery terminal (LTL) - `OUT_FOR_DELIVERY`: Out for final delivery - `RECOVERED`: Shipment has been recovered **Final:** - `DELIVERED`: Delivered - `CANCELED`: Canceled
        - `customer` CustomerReference — Enhanced reference to a customer resource (returned in responses). Includes full customer details in addition to id/key. Note: Does NOT include nested references (paymentTerm, contacts, etc.) to prevent recursion. Maximum nesting depth: 1 level.
          - `id` string, uuid, required — Customer UUID
          - `key` string, nullable — Client-defined reference ID if set
          - `name` string, required — Customer company name
          - `friendlyId` string, required — Human-readable customer identifier
          - `status` 'PROSPECT' | 'ACTIVE' | 'INACTIVE' | 'CHURNED', required — Customer status
          - `phoneNumber` string, nullable — Primary phone number
          - `website` string, nullable — Customer website URL
          - `createdAt` string, date-time, required — When the customer was created
          - `updatedAt` string, date-time, required — When the customer was last updated
          - `deletedAt` string, date-time, nullable — When the customer was soft deleted (null if active)
        - `customerRep` UserReference — Enhanced reference to a user resource (returned in responses). Includes full user details in addition to id/key. Note: Does NOT include nested references (teams, etc.) to prevent recursion. Maximum nesting depth: 1 level.
          - `id` string, uuid, required — User UUID
          - `key` string, nullable — Client-defined reference ID if set
          - `email` string, email, required — User's email address
          - `name` string, nullable — User's full name
          - `phone` string, nullable — User's phone number
          - `phoneExt` string, nullable — Phone extension
          - `status` 'PENDING' | 'ACTIVE' | 'INACTIVE', required — User account status
          - `avatarId` string, uuid, nullable — Profile avatar document ID
          - `createdAt` string, date-time, required — When the user was created
          - `updatedAt` string, date-time, required — When the user was last updated
          - `deletedAt` string, date-time, nullable — When the user was soft deleted (null if active)
        - `orders` Order[] — Orders in this shipment
          - `id` string, uuid
          - `key` string, nullable — Friendly order ID
          - `mode` 'TL' | 'LTL' | 'AIR' | 'OCEAN' | 'RAIL' | 'INTERMODAL' | 'DRAYAGE' — Transportation mode. - `TL`: Full Truckload - `LTL`: Less than Truckload - `AIR`: Air freight - `OCEAN`: Ocean freight - `RAIL`: Rail freight - `INTERMODAL`: Intermodal (multiple modes) - `DRAYAGE`: Drayage/cartage
          - `status` 'DRAFT' | 'TENDER_PENDING' | 'ON_HOLD' | 'PLANNING' | 'SELECTED' | 'BOOKED' | 'DISPATCHED' | 'LOADING' | 'PICKED_UP' | 'IN_TRANSIT' | 'UNLOADING' | 'ARRIVED_AT_DELIVERY_TERMINAL' | 'OUT_FOR_DELIVERY' | 'RECOVERED' | 'DELIVERED' | 'CANCELED' | 'TENDER_REJECTED' — Current status of the shipment lifecycle. **Pre-transit:** - `DRAFT`: Shipment being created - `TENDER_PENDING`: Awaiting carrier tender acceptance - `TENDER_REJECTED`: Carrier rejected the tender - `ON_HOLD`: Shipment temporarily paused - `PLANNING`: Being planned/scheduled - `SELECTED`: Carrier selected - `BOOKED`: Carrier confirmed booking - `DISPATCHED`: Dispatched to carrier **In-transit:** - `LOADING`: Loading at pickup - `PICKED_UP`: Picked up - `IN_TRANSIT`: In transit - `UNLOADING`: Unloading at delivery - `ARRIVED_AT_DELIVERY_TERMINAL`: At delivery terminal (LTL) - `OUT_FOR_DELIVERY`: Out for final delivery - `RECOVERED`: Shipment has been recovered **Final:** - `DELIVERED`: Delivered - `CANCELED`: Canceled
          - `billingStatus` 'DOCS_NEEDED' | 'NOT_READY_TO_INVOICE' | 'READY_TO_INVOICE' | 'INVOICED' | 'PARTIALLY_PAID' | 'PAID' — Billing status for the order (AR side). - `DOCS_NEEDED`: Waiting for delivery documents - `NOT_READY_TO_INVOICE`: Not ready to invoice - `READY_TO_INVOICE`: Ready to generate invoice - `INVOICED`: Invoice generated and sent - `PARTIALLY_PAID`: Partial payment received - `PAID`: Fully paid
          - `stops` OrderStop[] — Flattened stops array
            - `id` string, uuid
            - `type` 'PICKUP' | 'DELIVERY' | 'CROSS_DOCK'
            - `sequence` integer — Stop order in the route
            - `location` ResourceReference — Reference to another resource (returned in responses)
              - …
            - `address` Address — Physical address/location details (nested, without id). This is an embedded object representing a Location record. The id is managed internally and not exposed in the API.
              - …
            - `requestedStartDate` string, date, nullable
            - `requestedEndDate` string, date, nullable
            - `requestedStartTime` string, nullable
            - `requestedEndTime` string, nullable
            - `actualArrival` string, date-time, nullable
            - `actualDeparture` string, date-time, nullable
            - `appointmentRequired` boolean
            - `notes` string, nullable
          - `freight` OrderFreight
            - `handlingUnitQuantity` integer, nullable
            - `handlingUnitType` string, nullable
            - `weight` number, nullable — Weight in pounds
            - `volume` number, nullable — Volume in cubic feet
            - `length` number, nullable
            - `width` number, nullable
            - `height` number, nullable
            - `commodityDescription` string, nullable
            - `hazmat` boolean
            - `stackable` boolean
          - `references` OrderReference[]
            - `id` string, uuid
            - `type` string — Reference type (e.g., BOL_NUMBER)
            - `value` string — Reference value
          - `charges` OrderCharge[]
            - `id` string, uuid
            - `chargeCode` ResourceReference — Reference to another resource (returned in responses)
              - …
            - `description` string, nullable
            - `amount` number
            - `quantity` number
            - `rate` number, nullable
          - `equipment` ResourceReference[]
            - `id` string, uuid, required — Resource UUID
            - `key` string, nullable — Client-defined reference ID if set
          - `specialRequirements` ResourceReference[]
            - `id` string, uuid, required — Resource UUID
            - `key` string, nullable — Client-defined reference ID if set
          - `mileage` number, nullable
          - `totalRevenue` number, nullable — Sum of all charges
          - `createdAt` string, date-time
          - `updatedAt` string, date-time, nullable
        - `loads` LoadSummary[] — Loads for carrier execution
          - `id` string, uuid
          - `key` string, nullable
          - `status` 'DRAFT' | 'TENDER_PENDING' | 'ON_HOLD' | 'PLANNING' | 'SELECTED' | 'BOOKED' | 'DISPATCHED' | 'LOADING' | 'PICKED_UP' | 'IN_TRANSIT' | 'UNLOADING' | 'ARRIVED_AT_DELIVERY_TERMINAL' | 'OUT_FOR_DELIVERY' | 'RECOVERED' | 'DELIVERED' | 'CANCELED' | 'TENDER_REJECTED' — Current status of the shipment lifecycle. **Pre-transit:** - `DRAFT`: Shipment being created - `TENDER_PENDING`: Awaiting carrier tender acceptance - `TENDER_REJECTED`: Carrier rejected the tender - `ON_HOLD`: Shipment temporarily paused - `PLANNING`: Being planned/scheduled - `SELECTED`: Carrier selected - `BOOKED`: Carrier confirmed booking - `DISPATCHED`: Dispatched to carrier **In-transit:** - `LOADING`: Loading at pickup - `PICKED_UP`: Picked up - `IN_TRANSIT`: In transit - `UNLOADING`: Unloading at delivery - `ARRIVED_AT_DELIVERY_TERMINAL`: At delivery terminal (LTL) - `OUT_FOR_DELIVERY`: Out for final delivery - `RECOVERED`: Shipment has been recovered **Final:** - `DELIVERED`: Delivered - `CANCELED`: Canceled
          - `mode` 'TL' | 'LTL' | 'AIR' | 'OCEAN' | 'RAIL' | 'INTERMODAL' | 'DRAYAGE' — Transportation mode. - `TL`: Full Truckload - `LTL`: Less than Truckload - `AIR`: Air freight - `OCEAN`: Ocean freight - `RAIL`: Rail freight - `INTERMODAL`: Intermodal (multiple modes) - `DRAYAGE`: Drayage/cartage
          - `carriers` LoadCarrierSummary[] — Flattened carriers array
            - `id` string, uuid
            - `carrier` CarrierReference — Enhanced reference to a carrier resource (returned in responses). Includes full carrier details in addition to id/key. Note: Does NOT include nested references (contacts, etc.) to prevent recursion. Maximum nesting depth: 1 level.
              - …
            - `status` 'ACTIVE' | 'TONU' | 'BOUNCED'
            - `bookedAt` string, date-time, nullable
            - `dispatchedAt` string, date-time, nullable
            - `totalCost` number, nullable
          - `totalCost` number, nullable
        - `services` ServiceSummary[] — Vended services
          - `id` string, uuid
          - `key` string, nullable
          - `vendor` VendorReference — Enhanced reference to a vendor profile. Includes full vendor details in addition to id/key.
            - `id` string, uuid, required — Vendor UUID
            - `key` string, nullable — Client-defined reference ID if set
            - `friendlyId` string, required — Human-readable vendor identifier
            - `name` string, required — Vendor legal name
            - `email` string, email, nullable — Primary email address
            - `phone` string, nullable — Primary phone number
            - `status` string, nullable — Vendor status
            - `currency` string, nullable — Preferred currency code (ISO 4217)
            - `createdAt` string, date-time, required — When the vendor was created
            - `updatedAt` string, date-time, required — When the vendor was last updated
          - `serviceType` string
          - `status` 'ACTIVE' | 'AWAITING_INVOICE' | 'INVOICE_IN_REVIEW' | 'APPROVED_TO_PAY' | 'PAID' | 'CANCELED'
          - `cost` number, nullable
        - `totalRevenue` number, nullable — Sum of all order charges
        - `totalCost` number, nullable — Sum of all load and service costs
        - `margin` number, nullable — Revenue minus cost
        - `marginPercent` number, nullable — Margin as percentage of revenue
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, nullable
        - `deliveredAt` string, date-time, nullable
  - `pagination` SearchPaginationInfo, required — Pagination information for search results
    - `pageNumber` integer, required — Current page number
    - `pageSize` integer, required — Number of results returned on this page
    - `totalPages` integer, required — Total number of pages available
  - `totalResults` integer, required — Total number of matching results

## Other responses

- `400` — Bad request - invalid input
- `401` — Unauthorized - invalid or missing access token
- `422` — Validation error - invalid field values
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/mvmnt/apis/mvmnt-api.md) · [All operations](https://skmtc.net/mvmnt/apis/mvmnt-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mvmnt/mvmnt-api/versions/c44e5e7a4256/schema)
