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.
Request
Search for bill payments using filter criteria.
- By carrier:
{ "filter": { "carrierId": { "equalTo": "uuid" } } } - By vendor:
{ "filter": { "vendorId": { "equalTo": "uuid" } } } - By factor:
{ "filter": { "carrierFactorId": { "equalTo": "uuid" } } } - By date range:
{ "filter": { "paymentDate": { "gte": "2025-01-01", "lte": "2025-01-31" } } } - By method:
{ "filter": { "paymentMethodType": { "equalTo": "check" } } }
- Productionhttps://api.mvmnt.io/v1/bill-payments/filter
- Demo (non-production)https://api.demo.mvmnt.io/v1/bill-payments/filter
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.mvmnt.io/v1/bill-payments/filter \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"filter": {
"carrierId": {
"equalTo": "550e8400-e29b-41d4-a716-446655440000"
}
}
}'Bill payments matching filter criteria
Type of recipient for the payment.
CARRIER: Payment to a carrierVENDOR: Payment to a vendor
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.
Enhanced reference to a vendor profile. Includes full vendor details in addition to id/key.
Payment method used for the bill payment.
ACH_WIRE: ACH wire transferCHECK: Paper checkCREDIT_CARD: Credit card paymentEFT_DIRECT_DEPOSIT: EFT direct depositE_TRANSFER: Electronic transferVENMO: Venmo paymentZELLE: Zelle payment
Individual bill payments in this group
{ "data": [ { … } ], "pagination": { "pageSize": 50, "hasNextPage": true, "hasPreviousPage": false, "endCursor": "eyJpZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCJ9" } }
Request
Record a payment for one or more carrier/vendor bills.
- PaymentGroup record is created
- Payment applications are created for each bill
- Bill open balances are reduced
- Load/service status updates to PAID when fully paid
To pay a carrier's factor instead of the carrier directly, specify carrierFactorId in the request.
If allowOverpayment is true and payment exceeds bill totals, a credit memo is automatically created for the difference.
Payment method used for the bill payment.
ACH_WIRE: ACH wire transferCHECK: Paper checkCREDIT_CARD: Credit card paymentEFT_DIRECT_DEPOSIT: EFT direct depositE_TRANSFER: Electronic transferVENMO: Venmo paymentZELLE: Zelle payment
Bills to pay
- Productionhttps://api.mvmnt.io/v1/bill-payments
- Demo (non-production)https://api.demo.mvmnt.io/v1/bill-payments
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.mvmnt.io/v1/bill-payments \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"paymentDate": "2025-01-15",
"paymentMethodType": "CHECK",
"reference": "CHK-12345",
"applications": [
{
"billId": "550e8400-e29b-41d4-a716-446655440000",
"amount": 2500
}
]
}'Bill payment created successfully
Type of recipient for the payment.
CARRIER: Payment to a carrierVENDOR: Payment to a vendor
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.
Enhanced reference to a vendor profile. Includes full vendor details in addition to id/key.
Payment method used for the bill payment.
ACH_WIRE: ACH wire transferCHECK: Paper checkCREDIT_CARD: Credit card paymentEFT_DIRECT_DEPOSIT: EFT direct depositE_TRANSFER: Electronic transferVENMO: Venmo paymentZELLE: Zelle payment
Individual bill payments in this group
{ "id": "550e8400-e29b-41d4-a716-446655440000", "key": "string", "recipientType": "CARRIER", "carrier": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-CARRIER-SWIFT", "name": "Swift Transportation", "phoneNumber": "+1-555-987-6543", "email": "dispatch@swifttrans.com", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }, "vendor": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-VENDOR-ABC-001", "friendlyId": "V123456", "name": "ABC Warehouse Services", "email": "billing@abcwarehouse.com", "phone": "+1-555-123-4567", "status": "ACTIVE", "currency": "USD", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z" }, "carrierFactor": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "companyName": "string", "bankName": "string" }, "paymentDate": "2019-08-24", "paymentMethodType": "ACH_WIRE", "reference": "string", "notes": "string", "totalAmount": 0, "overpayment": 0, "overpaymentCreditMemoId": "2f027b50-303e-4b13-9bf5-d1a4ed9ead57", "applications": [ { … } ], "qboId": "string", "syncStatus": "pending", "syncError": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }
- Productionhttps://api.mvmnt.io/v1/bill-payments/{id}
- Demo (non-production)https://api.demo.mvmnt.io/v1/bill-payments/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.mvmnt.io/v1/bill-payments/550e8400-e29b-41d4-a716-446655440000?by=key' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'Bill payment retrieved successfully
Type of recipient for the payment.
CARRIER: Payment to a carrierVENDOR: Payment to a vendor
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.
Enhanced reference to a vendor profile. Includes full vendor details in addition to id/key.
Payment method used for the bill payment.
ACH_WIRE: ACH wire transferCHECK: Paper checkCREDIT_CARD: Credit card paymentEFT_DIRECT_DEPOSIT: EFT direct depositE_TRANSFER: Electronic transferVENMO: Venmo paymentZELLE: Zelle payment
Individual bill payments in this group
{ "id": "550e8400-e29b-41d4-a716-446655440000", "key": "string", "recipientType": "CARRIER", "carrier": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-CARRIER-SWIFT", "name": "Swift Transportation", "phoneNumber": "+1-555-987-6543", "email": "dispatch@swifttrans.com", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }, "vendor": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-VENDOR-ABC-001", "friendlyId": "V123456", "name": "ABC Warehouse Services", "email": "billing@abcwarehouse.com", "phone": "+1-555-123-4567", "status": "ACTIVE", "currency": "USD", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z" }, "carrierFactor": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "companyName": "string", "bankName": "string" }, "paymentDate": "2019-08-24", "paymentMethodType": "ACH_WIRE", "reference": "string", "notes": "string", "totalAmount": 0, "overpayment": 0, "overpaymentCreditMemoId": "2f027b50-303e-4b13-9bf5-d1a4ed9ead57", "applications": [ { … } ], "qboId": "string", "syncStatus": "pending", "syncError": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }
Request
Update bill payment fields.
- Cannot change carrier factor after creation
- Can add/remove/update payment applications
In the applications array:
- Include
idto update an existing application - Omit
idand includebillIdto add a new application - Set
delete: truewithidto remove an application
Payment method used for the bill payment.
ACH_WIRE: ACH wire transferCHECK: Paper checkCREDIT_CARD: Credit card paymentEFT_DIRECT_DEPOSIT: EFT direct depositE_TRANSFER: Electronic transferVENMO: Venmo paymentZELLE: Zelle payment
- Productionhttps://api.mvmnt.io/v1/bill-payments/{id}
- Demo (non-production)https://api.demo.mvmnt.io/v1/bill-payments/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PATCH \
'https://api.mvmnt.io/v1/bill-payments/550e8400-e29b-41d4-a716-446655440000?by=key' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"reference": "CHK-12345-UPDATED"
}'Bill payment updated successfully
Type of recipient for the payment.
CARRIER: Payment to a carrierVENDOR: Payment to a vendor
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.
Enhanced reference to a vendor profile. Includes full vendor details in addition to id/key.
Payment method used for the bill payment.
ACH_WIRE: ACH wire transferCHECK: Paper checkCREDIT_CARD: Credit card paymentEFT_DIRECT_DEPOSIT: EFT direct depositE_TRANSFER: Electronic transferVENMO: Venmo paymentZELLE: Zelle payment
Individual bill payments in this group
{ "id": "550e8400-e29b-41d4-a716-446655440000", "key": "string", "recipientType": "CARRIER", "carrier": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-CARRIER-SWIFT", "name": "Swift Transportation", "phoneNumber": "+1-555-987-6543", "email": "dispatch@swifttrans.com", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }, "vendor": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-VENDOR-ABC-001", "friendlyId": "V123456", "name": "ABC Warehouse Services", "email": "billing@abcwarehouse.com", "phone": "+1-555-123-4567", "status": "ACTIVE", "currency": "USD", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z" }, "carrierFactor": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "companyName": "string", "bankName": "string" }, "paymentDate": "2019-08-24", "paymentMethodType": "ACH_WIRE", "reference": "string", "notes": "string", "totalAmount": 0, "overpayment": 0, "overpaymentCreditMemoId": "2f027b50-303e-4b13-9bf5-d1a4ed9ead57", "applications": [ { … } ], "qboId": "string", "syncStatus": "pending", "syncError": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }
- Productionhttps://api.mvmnt.io/v1/bill-payments/{id}
- Demo (non-production)https://api.demo.mvmnt.io/v1/bill-payments/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X DELETE \
'https://api.mvmnt.io/v1/bill-payments/550e8400-e29b-41d4-a716-446655440000?by=key' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'- Productionhttps://api.mvmnt.io/v1/bill-payments/{id}/applications
- Demo (non-production)https://api.demo.mvmnt.io/v1/bill-payments/{id}/applications
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.mvmnt.io/v1/bill-payments/550e8400-e29b-41d4-a716-446655440000/applications?by=key' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{ "data": [ { … } ], "totalAmount": 0 }
- Productionhttps://api.mvmnt.io/v1/bill-payments/{id}/remittance-advice
- Demo (non-production)https://api.demo.mvmnt.io/v1/bill-payments/{id}/remittance-advice
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.mvmnt.io/v1/bill-payments/550e8400-e29b-41d4-a716-446655440000/remittance-advice?by=key' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'No response example- Productionhttps://api.mvmnt.io/v1/bill-payments/{id}/send-remittance
- Demo (non-production)https://api.demo.mvmnt.io/v1/bill-payments/{id}/send-remittance
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://api.mvmnt.io/v1/bill-payments/550e8400-e29b-41d4-a716-446655440000/send-remittance?by=key' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{}'{ "success": true, "sentTo": "user@example.com" }
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.