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.
Filter criteria (optional - omit to return all locations).
Note: deletedAt automatically defaults to { isNull: true } unless explicitly overridden.
- Productionhttps://api.mvmnt.io/v1/locations/filter
- Demo (non-production)https://api.demo.mvmnt.io/v1/locations/filter
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.mvmnt.io/v1/locations/filter \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"filter": {
"and": [
{
"customerId": {
"equalTo": "550e8400-e29b-41d4-a716-446655440000"
}
},
{
"type": {
"equalTo": "SHIPPER"
}
}
]
},
"pageSize": 50
}'Filtered locations with pagination
Unique location identifier
Customer (shipper profile) this location belongs to
Client-defined reference identifier for this location
The type of location:
SHIPPER: Pickup location onlyRECEIVER: Delivery location onlyBOTH: Can be used for both pickup and delivery
Whether appointments are required for this location
External notes visible to carriers
Internal notes (not visible to carriers)
Timestamp when location was created
Timestamp when location was last updated
{ "data": [ { … } ], "pageInfo": { "pageSize": 50, "hasNextPage": true, "hasPreviousPage": false, "endCursor": "eyJpZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCJ9" } }
Customer (shipper profile) this location belongs to (required)
Physical address for this location (required). The backing address record is created and linked automatically — no separate address or location id is needed. country accepts US, CA, or MX.
Whether this location is an airport or airbase
Whether this location is a construction or utility site
Whether address has been validated by SmartyStreets
The type of location:
SHIPPER: Pickup location onlyRECEIVER: Delivery location onlyBOTH: Can be used for both pickup and delivery
Whether appointments are required for this location (required)
- Productionhttps://api.mvmnt.io/v1/locations
- Demo (non-production)https://api.demo.mvmnt.io/v1/locations
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.mvmnt.io/v1/locations \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"customerId": "550e8400-e29b-41d4-a716-446655440000",
"address": {
"line1": "2100 Ross Ave",
"city": "Dallas",
"state": "TX",
"zipCode": "75201",
"country": "US"
},
"name": "ABC Warehouse - Dallas",
"key": "ERP-LOC-DALLAS-01",
"type": "SHIPPER",
"isAppointmentRequired": true,
"notes": "Call 24 hours ahead for appointment"
}'Location created successfully
Unique location identifier
Customer (shipper profile) this location belongs to
Client-defined reference identifier for this location
The type of location:
SHIPPER: Pickup location onlyRECEIVER: Delivery location onlyBOTH: Can be used for both pickup and delivery
Whether appointments are required for this location
External notes visible to carriers
Internal notes (not visible to carriers)
Timestamp when location was created
Timestamp when location was last updated
{ "object": "LOCATION", "id": "770e8400-e29b-41d4-a716-446655440000", "customerId": "550e8400-e29b-41d4-a716-446655440000", "customer": { "object": "CUSTOMER", "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Acme Manufacturing Corp", "friendlyId": "A123456", "status": "NEW", "serviceTier": "TIER_1", "website": "https://acme-manufacturing.com", "phoneNumber": "+1-555-123-4567", "industry": "AGRICULTURE_FORESTRY", "annualRevenue": "_0_TO_500K", "annualSpend": "_0_TO_25K", "spendType": "CONTRACT", "naics": "336411", "ein": "12-3456789", "duns": "123456789", "leadSource": "Referral", "dbaName": "Acme Corp DBA", "numberOfEmployees": "_0_TO_1", "externalId": "EXT-12345", "currency": "USD", "creditLimit": 50000, "creditUsageWarning": 40000, "freeCreditReq": 5000, "defaultMode": "FTL", "defaultMargin": 0.15, "minMargin": 0.1, "maxMargin": 0.25, "defaultInternalNotes": "Contact via email only", "defaultCarrierNotes": "Call pickup contact before arrival", "defaultExternalNotes": "Please call 1 hour before delivery", "defaultShowNotes": "ALL", "autoAcceptTender": false, "group": { … }, "paymentTerm": { … }, "notes": "Prefers email communication", "deactivationReason": "NOT_PAYING_INVOICE", "deactivationNotes": "string", "deactivationDate": null, "closedAt": null, "closedBy": { … }, "closedNotes": "string", "corporateAddress": { … }, "billingAddress": { … }, "qboCustomerId": null, "key": "ERP-CUSTOMER-12345", "contacts": [ … ], "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null, "deletedBy": { … } }, "address": { "line1": "123 Main St", "line2": "Suite 400", "city": "Chicago", "state": "IL", "zipCode": "60601", "country": "USA", "market": "CHI", "latitude": "41.8781", "longitude": "-87.6298", "isAirportOrAirbase": false, "isConstructionOrUtilitySite": false, "isSmartyValidated": true, "obeysDst": true, "cityId": null }, "name": "ABC Warehouse - Dallas", "key": "ERP-LOC-DALLAS-01", "type": "SHIPPER", "isAppointmentRequired": true, "notes": "Call 24 hours ahead for appointment", "internalNotes": "Use dock door 5 for expedited shipments", "contacts": [ { … } ], "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }
- Productionhttps://api.mvmnt.io/v1/locations/{id}
- Demo (non-production)https://api.demo.mvmnt.io/v1/locations/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://api.mvmnt.io/v1/locations/550e8400-e29b-41d4-a716-446655440000 \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'Location found
Unique location identifier
Customer (shipper profile) this location belongs to
Client-defined reference identifier for this location
The type of location:
SHIPPER: Pickup location onlyRECEIVER: Delivery location onlyBOTH: Can be used for both pickup and delivery
Whether appointments are required for this location
External notes visible to carriers
Internal notes (not visible to carriers)
Timestamp when location was created
Timestamp when location was last updated
{ "object": "LOCATION", "id": "770e8400-e29b-41d4-a716-446655440000", "customerId": "550e8400-e29b-41d4-a716-446655440000", "customer": { "object": "CUSTOMER", "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Acme Manufacturing Corp", "friendlyId": "A123456", "status": "NEW", "serviceTier": "TIER_1", "website": "https://acme-manufacturing.com", "phoneNumber": "+1-555-123-4567", "industry": "AGRICULTURE_FORESTRY", "annualRevenue": "_0_TO_500K", "annualSpend": "_0_TO_25K", "spendType": "CONTRACT", "naics": "336411", "ein": "12-3456789", "duns": "123456789", "leadSource": "Referral", "dbaName": "Acme Corp DBA", "numberOfEmployees": "_0_TO_1", "externalId": "EXT-12345", "currency": "USD", "creditLimit": 50000, "creditUsageWarning": 40000, "freeCreditReq": 5000, "defaultMode": "FTL", "defaultMargin": 0.15, "minMargin": 0.1, "maxMargin": 0.25, "defaultInternalNotes": "Contact via email only", "defaultCarrierNotes": "Call pickup contact before arrival", "defaultExternalNotes": "Please call 1 hour before delivery", "defaultShowNotes": "ALL", "autoAcceptTender": false, "group": { … }, "paymentTerm": { … }, "notes": "Prefers email communication", "deactivationReason": "NOT_PAYING_INVOICE", "deactivationNotes": "string", "deactivationDate": null, "closedAt": null, "closedBy": { … }, "closedNotes": "string", "corporateAddress": { … }, "billingAddress": { … }, "qboCustomerId": null, "key": "ERP-CUSTOMER-12345", "contacts": [ … ], "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null, "deletedBy": { … } }, "address": { "line1": "123 Main St", "line2": "Suite 400", "city": "Chicago", "state": "IL", "zipCode": "60601", "country": "USA", "market": "CHI", "latitude": "41.8781", "longitude": "-87.6298", "isAirportOrAirbase": false, "isConstructionOrUtilitySite": false, "isSmartyValidated": true, "obeysDst": true, "cityId": null }, "name": "ABC Warehouse - Dallas", "key": "ERP-LOC-DALLAS-01", "type": "SHIPPER", "isAppointmentRequired": true, "notes": "Call 24 hours ahead for appointment", "internalNotes": "Use dock door 5 for expedited shipments", "contacts": [ { … } ], "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }
Customer (shipper profile) this location belongs to
Partial address update. All fields are optional.
- Omitted fields: Not modified (current value preserved)
- Provided fields: Updated to the new value
- Null values: Treated as omitted (null-clears are not yet supported for address fields)
The type of location:
SHIPPER: Pickup location onlyRECEIVER: Delivery location onlyBOTH: Can be used for both pickup and delivery
External notes visible to carriers
- Productionhttps://api.mvmnt.io/v1/locations/{id}
- Demo (non-production)https://api.demo.mvmnt.io/v1/locations/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PATCH \
https://api.mvmnt.io/v1/locations/550e8400-e29b-41d4-a716-446655440000 \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"notes": "Updated appointment requirements"
}'Location updated successfully
Unique location identifier
Customer (shipper profile) this location belongs to
Client-defined reference identifier for this location
The type of location:
SHIPPER: Pickup location onlyRECEIVER: Delivery location onlyBOTH: Can be used for both pickup and delivery
Whether appointments are required for this location
External notes visible to carriers
Internal notes (not visible to carriers)
Timestamp when location was created
Timestamp when location was last updated
{ "object": "LOCATION", "id": "770e8400-e29b-41d4-a716-446655440000", "customerId": "550e8400-e29b-41d4-a716-446655440000", "customer": { "object": "CUSTOMER", "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Acme Manufacturing Corp", "friendlyId": "A123456", "status": "NEW", "serviceTier": "TIER_1", "website": "https://acme-manufacturing.com", "phoneNumber": "+1-555-123-4567", "industry": "AGRICULTURE_FORESTRY", "annualRevenue": "_0_TO_500K", "annualSpend": "_0_TO_25K", "spendType": "CONTRACT", "naics": "336411", "ein": "12-3456789", "duns": "123456789", "leadSource": "Referral", "dbaName": "Acme Corp DBA", "numberOfEmployees": "_0_TO_1", "externalId": "EXT-12345", "currency": "USD", "creditLimit": 50000, "creditUsageWarning": 40000, "freeCreditReq": 5000, "defaultMode": "FTL", "defaultMargin": 0.15, "minMargin": 0.1, "maxMargin": 0.25, "defaultInternalNotes": "Contact via email only", "defaultCarrierNotes": "Call pickup contact before arrival", "defaultExternalNotes": "Please call 1 hour before delivery", "defaultShowNotes": "ALL", "autoAcceptTender": false, "group": { … }, "paymentTerm": { … }, "notes": "Prefers email communication", "deactivationReason": "NOT_PAYING_INVOICE", "deactivationNotes": "string", "deactivationDate": null, "closedAt": null, "closedBy": { … }, "closedNotes": "string", "corporateAddress": { … }, "billingAddress": { … }, "qboCustomerId": null, "key": "ERP-CUSTOMER-12345", "contacts": [ … ], "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null, "deletedBy": { … } }, "address": { "line1": "123 Main St", "line2": "Suite 400", "city": "Chicago", "state": "IL", "zipCode": "60601", "country": "USA", "market": "CHI", "latitude": "41.8781", "longitude": "-87.6298", "isAirportOrAirbase": false, "isConstructionOrUtilitySite": false, "isSmartyValidated": true, "obeysDst": true, "cityId": null }, "name": "ABC Warehouse - Dallas", "key": "ERP-LOC-DALLAS-01", "type": "SHIPPER", "isAppointmentRequired": true, "notes": "Call 24 hours ahead for appointment", "internalNotes": "Use dock door 5 for expedited shipments", "contacts": [ { … } ], "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }
- Productionhttps://api.mvmnt.io/v1/locations/{id}
- Demo (non-production)https://api.demo.mvmnt.io/v1/locations/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X DELETE \
https://api.mvmnt.io/v1/locations/550e8400-e29b-41d4-a716-446655440000 \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'Request
Search locations using OpenSearch-powered full-text and field-specific search.
This endpoint provides fast, indexed search across location data with support for:
- Full-text search across multiple fields
- Field-specific filtering with various operators
- Geographic search capabilities
- Sorting and pagination
- Saved search preferences
Note: Only active (non-deleted) locations are searchable. Soft-deleted records are automatically excluded from all search results.
Response Formats:
flat(default): Returns indexed fields only for faster performancefull: Returns complete location objects with all relationships
Sort options for the search results
Optional saved search to load preferences from. When provided, the saved search criteria will be loaded and merged with any explicit criteria.
- Productionhttps://api.mvmnt.io/v1/locations/search
- Demo (non-production)https://api.demo.mvmnt.io/v1/locations/search
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.mvmnt.io/v1/locations/search \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"criteria": {
"id": {
"operator": "EQUALS",
"values": [
"550e8400-e29b-41d4-a716-446655440000"
]
},
"customerId": {
"operator": "EQUALS",
"values": [
"550e8400-e29b-41d4-a716-446655440000"
]
},
"customerName": {
"operator": "INCLUDES",
"values": [
"search term"
]
},
"customerFriendlyId": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"type": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"name": {
"operator": "INCLUDES",
"values": [
"search term"
]
},
"externalId": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"line1": {
"operator": "INCLUDES",
"values": [
"search term"
]
},
"line2": {
"operator": "INCLUDES",
"values": [
"search term"
]
},
"city": {
"operator": "INCLUDES",
"values": [
"search term"
]
},
"state": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"postalCode": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"country": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"market": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"zone": {
"operator": "ONE_OF",
"values": [
"ACTIVE",
"PENDING"
]
},
"phoneNumber": {
"operator": "INCLUDES",
"values": [
"search term"
]
},
"appointmentRequired": {
"operator": "TRUE"
},
"stopsCount": {
"operator": "BETWEEN",
"min": 10,
"max": 100
},
"createdAt": {
"operator": "AFTER",
"value": "2025-01-01T00:00:00Z"
}
},
"pagination": {
"pageNumber": 1,
"pageSize": 50
},
"sort": [
{
"field": "createdAt",
"order": "desc"
}
],
"savedSearch": {
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"format": "flat"
}'{ "data": [ { … } ], "pagination": { "pageNumber": 1, "pageSize": 50, "totalPages": 25 }, "totalResults": 0 }
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.