Carrier management operations
MVMNT API (1.0.0)
The MVMNT API enables you to automate freight brokerage workflows by integrating directly with our Transportation Management System.
Postman setup guide: API Clients.
OAuth 2.0 client credentials flow. See Authentication Guide for details.
Headers:
Content-Type: application/x-www-form-urlencodedBody Parameters:
grant_type=client_credentials
client_id=YOUR_CLIENT_ID
client_secret=YOUR_CLIENT_SECRETcurl -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"Status: 200 OK
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600
}Response Fields:
access_token: JWT Bearer token to use for API requeststoken_type: AlwaysBearerexpires_in: Token lifetime in seconds (3600 = 1 hour)
Mutating requests (POST, PATCH, DELETE) accept an optional Idempotency-Key header (up to 255 characters). Retrying a request with the same key and the same body returns the original result instead of repeating the operation; reusing a key with a different body fails. Keys are scoped to your organization — keys chosen by other tenants can never collide with yours. Use a stable identifier from your system (for example your own record id plus the action) rather than a random value per attempt.
Reference Data
Read-only catalogs (equipment, charge codes, special requirements) referenced by id from other resources.
Every catalog also answers on its short top-level path, so GET /v1/charge-codes and GET /v1/reference-data/charge-codes are the same endpoint. The documented /reference-data/* form is canonical — it keeps the catalogs grouped here as more are added (port codes, cities, zip codes) — and the short form is a convenience alias.
Request
Read-only catalog of equipment types. The ids are what order and load equipment arrays reference. The list is system-managed and small — fetch it once and cache it, or hardcode the ids your integration uses.
The catalog is global and organization-independent: every authenticated organization sees the same rows.
- Productionhttps://api.mvmnt.io/v1/reference-data/equipment
- Demo (non-production)https://api.demo.mvmnt.io/v1/reference-data/equipment
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.mvmnt.io/v1/reference-data/equipment?categoryId=497f6eca-6276-4993-bfeb-53cbbbba6f08&groupId=497f6eca-6276-4993-bfeb-53cbbbba6f08&subcategoryId=497f6eca-6276-4993-bfeb-53cbbbba6f08' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'- Productionhttps://api.mvmnt.io/v1/reference-data/charge-codes
- Demo (non-production)https://api.demo.mvmnt.io/v1/reference-data/charge-codes
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.mvmnt.io/v1/reference-data/charge-codes?code=LH' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'Request
Read-only catalog of special requirements (equipment accessories, driver services, freight handling, location constraints). The ids are what order and load specialRequirements arrays reference. Filter by type to get one category.
The catalog is global and organization-independent: every authenticated organization sees the same rows.
- Productionhttps://api.mvmnt.io/v1/reference-data/special-requirements
- Demo (non-production)https://api.demo.mvmnt.io/v1/reference-data/special-requirements
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.mvmnt.io/v1/reference-data/special-requirements?type=EQUIPMENT' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'Successful response
What the requirement applies to.
EQUIPMENT: Equipment accessories (e.g., tarps, straps)DRIVER: Driver services (e.g., team service, TWIC)FREIGHT: Freight handling characteristicsSHIPPER_LOCATION: Location constraints
{ "data": [ { … } ] }