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.
Filter criteria (optional - omit to return all vendor contacts).
Note: deletedAt automatically defaults to { isNull: true } unless explicitly overridden.
- Productionhttps://api.mvmnt.io/v1/vendor-contacts/filter
- Demo (non-production)https://api.demo.mvmnt.io/v1/vendor-contacts/filter
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.mvmnt.io/v1/vendor-contacts/filter \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"filter": {
"and": [
{
"roles": {
"includes": "BILLING"
}
},
{
"vendorId": {
"equalTo": "550e8400-e29b-41d4-a716-446655440001"
}
}
]
},
"pageSize": 50
}'Filtered vendor contacts with pagination
Vendor this contact belongs to (id and key only)
Types/roles this contact serves
User who deleted this contact (full user details)
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.
When the contact was created
{ "data": [ { … } ], "pageInfo": { "pageSize": 50, "hasNextPage": true, "hasPreviousPage": false, "endCursor": "eyJpZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCJ9" } }
Vendor this contact belongs to
- Productionhttps://api.mvmnt.io/v1/vendor-contacts
- Demo (non-production)https://api.demo.mvmnt.io/v1/vendor-contacts
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.mvmnt.io/v1/vendor-contacts \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"vendorId": "550e8400-e29b-41d4-a716-446655440001",
"name": "Dana Reyes",
"email": "billing@abcwarehouse.com",
"phone": "+1-555-123-4567",
"roles": [
"BILLING"
]
}'Vendor contact created successfully
Vendor this contact belongs to (id and key only)
Types/roles this contact serves
User who deleted this contact (full user details)
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.
When the contact was created
{ "object": "VENDOR_CONTACT", "vendor": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-USER-12345" }, "email": "john.smith@abcwarehouse.com", "phone": "+1-555-123-4567", "role": "Billing Manager", "roles": [ "BILLING", "AGENT" ], "deletedBy": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-USER-12345", "email": "john.doe@example.com", "name": "John Doe", "phone": "+1-555-123-4567", "phoneExt": "123", "status": "ACTIVE", "avatarId": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }, "createdAt": "2025-01-15T10:00:00Z", "deletedAt": null }
- Productionhttps://api.mvmnt.io/v1/vendor-contacts/{id}
- Demo (non-production)https://api.demo.mvmnt.io/v1/vendor-contacts/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://api.mvmnt.io/v1/vendor-contacts/550e8400-e29b-41d4-a716-446655440000 \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'Vendor contact found
Vendor this contact belongs to (id and key only)
Types/roles this contact serves
User who deleted this contact (full user details)
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.
When the contact was created
{ "object": "VENDOR_CONTACT", "vendor": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-USER-12345" }, "email": "john.smith@abcwarehouse.com", "phone": "+1-555-123-4567", "role": "Billing Manager", "roles": [ "BILLING", "AGENT" ], "deletedBy": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-USER-12345", "email": "john.doe@example.com", "name": "John Doe", "phone": "+1-555-123-4567", "phoneExt": "123", "status": "ACTIVE", "avatarId": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }, "createdAt": "2025-01-15T10:00:00Z", "deletedAt": null }
- Productionhttps://api.mvmnt.io/v1/vendor-contacts/{id}
- Demo (non-production)https://api.demo.mvmnt.io/v1/vendor-contacts/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PATCH \
https://api.mvmnt.io/v1/vendor-contacts/550e8400-e29b-41d4-a716-446655440000 \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"email": "newemail@abcwarehouse.com"
}'Vendor contact updated successfully
Vendor this contact belongs to (id and key only)
Types/roles this contact serves
User who deleted this contact (full user details)
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.
When the contact was created
{ "object": "VENDOR_CONTACT", "vendor": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-USER-12345" }, "email": "john.smith@abcwarehouse.com", "phone": "+1-555-123-4567", "role": "Billing Manager", "roles": [ "BILLING", "AGENT" ], "deletedBy": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-USER-12345", "email": "john.doe@example.com", "name": "John Doe", "phone": "+1-555-123-4567", "phoneExt": "123", "status": "ACTIVE", "avatarId": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }, "createdAt": "2025-01-15T10:00:00Z", "deletedAt": null }
- Productionhttps://api.mvmnt.io/v1/vendor-contacts/{id}
- Demo (non-production)https://api.demo.mvmnt.io/v1/vendor-contacts/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X DELETE \
https://api.mvmnt.io/v1/vendor-contacts/550e8400-e29b-41d4-a716-446655440000 \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'