Skip to content

MVMNT API (1.0.0)

The MVMNT API enables you to automate freight brokerage workflows by integrating directly with our Transportation Management System.

Authentication

OAuth 2.0 client credentials flow. See Authentication Guide for details.

Token Endpoint

POST https://api.mvmnt.io/oauth2/token

Request

Headers:

Content-Type: application/x-www-form-urlencoded

Body Parameters:

grant_type=client_credentials
client_id=YOUR_CLIENT_ID
client_secret=YOUR_CLIENT_SECRET

Example Request

curl -X POST https://api.mvmnt.io/oauth2/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials" \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "client_secret=YOUR_CLIENT_SECRET"

Success Response

Status: 200 OK

{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 3600
}

Response Fields:

  • access_token: JWT Bearer token to use for API requests
  • token_type: Always Bearer
  • expires_in: Token lifetime in seconds (3600 = 1 hour)
Download OpenAPI description
Overview
Languages
Servers
Mock server
https://docs.mvmnt.io/_mock/apis/openapi/
Production
https://api.mvmnt.io/v1/

Companies

Operations

Carrier Contacts

Operations

Carriers

Operations

Carrier Factors

Operations

Carrier Payment Methods

Operations

Customer Contacts

Operations

Customers

Operations

Locations

Operations

Location Contacts

Operations

Payment Terms

Operations

Teams

Operations

Users

Operations

Vendors

Operations

Vendor Contacts

Operations

Vendor Payment Methods

Operations

Saved Searches

Operations

Search globally

Request

Search across multiple entity types simultaneously (shipments, customers, carriers, users, vendors).

Use Cases:

  • Unified search bar for finding any type of record
  • Quick lookup by name, ID, or reference number
  • Cross-entity discovery

Search Behavior:

  • Searches across default searchable fields for each entity type
  • Results are sorted by object type priority: SHIPMENT → CUSTOMER → CARRIER → USER → VENDOR
  • Within each object type, results are sorted by most recently updated

Prefix Filtering: Use "type:query" syntax to search specific object types:

  • carrier:acme - searches only carriers
  • shipment:12345 - searches only shipments
  • customer:west - searches only customers

IMPORTANT: Eventually Consistent This endpoint queries OpenSearch indices which are updated asynchronously. Changes typically appear within 2 seconds, but this is not guaranteed.

Security
BearerAuth
Bodyapplication/jsonrequired
querystringrequired

Search query string. Searches across default searchable fields for each entity type.

Supports prefix filtering using "type:query" syntax:

  • carrier:acme - searches only carriers for "acme"
  • shipment:12345 - searches only shipments for "12345"
  • user:john - searches only users for "john"
Example: "acme corp"
objectsArray of strings(GlobalSearchObjectType)

Optional filter to limit search to specific object types. If not provided, searches across all object types.

Items Enum"SHIPMENT""CUSTOMER""CARRIER""USER""VENDOR"
Example: ["SHIPMENT","CUSTOMER"]
paginationobject(SearchPaginationInput)
curl -i -X POST \
  https://docs.mvmnt.io/_mock/apis/openapi/global-search \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "query": "acme"
  }'

Responses

Search results

Bodyapplication/json
dataArray of objects(GlobalSearchRow)required

Search results sorted by object type priority: SHIPMENT → CUSTOMER → CARRIER → USER → VENDOR

data[].​objectstring(GlobalSearchObjectType)required
Enum"SHIPMENT""CUSTOMER""CARRIER""USER""VENDOR"
data[].​idstring(uuid)required

Unique identifier of the matched record

data[].​keystring or null<= 512 characters

Client-defined reference identifier if set

Example: "ERP-CUST-12345"
data[].​entityNamestringrequired

Internal entity type name (for backwards compatibility). Prefer using the object field instead.

Example: "SHIPPER_PROFILE"
data[].​titlestringrequired

Primary display text for the result (e.g., name, friendlyId)

Example: "Acme Corporation"
data[].​subtitlestring or null

Secondary display text (varies by entity type)

Example: "CUST-12345"
data[].​fieldstringrequired

Name of the field that matched the search query

Example: "Name"
data[].​highlightstring or null

Matched text with highlight markers. Contains HTML <em> tags around matched portions.

Example: "<em>Acme</em> Corporation"
paginationobject(SearchPaginationInfo)required
pagination.​pageNumberintegerrequired

Current page number

Example: 1
pagination.​pageSizeintegerrequired

Number of results returned on this page

Example: 50
pagination.​totalPagesintegerrequired

Total number of pages available

Example: 25
totalResultsinteger>= 0required

Total number of matching results across all object types

Example: 42
Response
application/json
{ "data": [ {}, {} ], "pagination": { "pageNumber": 1, "pageSize": 20, "totalPages": 3 }, "totalResults": 42 }

Event Notifications

Webhooks