Carrier management operations
MVMNT API (1.1.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
Search for AR payments using filter criteria.
- By customer:
{ "filter": { "customerId": { "equalTo": "uuid" } } } - By invoice:
{ "filter": { "invoiceId": { "equalTo": "uuid" } } } - By date range:
{ "filter": { "paymentDate": { "greaterThanOrEqualTo": "2025-01-01T00:00:00Z" } } } - By method:
{ "filter": { "paymentMethodType": { "equalTo": "check" } } }
- Productionhttps://api.mvmnt.io/v1/payments/filter
- Demo (non-production)https://api.demo.mvmnt.io/v1/payments/filter
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.mvmnt.io/v1/payments/filter \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"filter": {
"customerId": {
"equalTo": "550e8400-e29b-41d4-a716-446655440000"
}
}
}'Payments matching filter criteria
Enhanced reference to a customer resource (returned in responses). Includes full customer details in addition to id/key.
Note: Does NOT include nested references (paymentTerm, contacts, etc.) to prevent recursion. Maximum nesting depth: 1 level.
Payment method type.
ACH_WIRE: ACH or wire transferZELLE: Zelle paymentVENMO: Venmo paymentCHECK: Paper checkEFT_DIRECT_DEPOSIT: EFT direct depositE_TRANSFER: Electronic transferCREDIT_CARD: Credit card payment
{ "data": [ { … } ], "pagination": { "pageSize": 50, "hasNextPage": true, "hasPreviousPage": false, "endCursor": "eyJpZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCJ9" }, "errors": [ { … } ] }
Request
Record a customer payment applied to invoices.
- Payment record is created
- Specified amounts are applied to invoices
- Invoice/order status updated to
PAIDwhen fully paid - Overpayment creates a credit memo automatically
- Payment date must be >= invoice date for all applied invoices
- Application amounts must not exceed invoice open balances
- Customer must match invoice customer
Payment method type.
ACH_WIRE: ACH or wire transferZELLE: Zelle paymentVENMO: Venmo paymentCHECK: Paper checkEFT_DIRECT_DEPOSIT: EFT direct depositE_TRANSFER: Electronic transferCREDIT_CARD: Credit card payment
Invoices to apply payment to
Credit memos to apply in this payment. Each credit is spread over applications in order, each invoice absorbing up to its own amount before the next. The total credit must not exceed the total of applications. The invoices in applications must belong to customerId and share one currency, and each memo must belong to customerId, be in that currency, not be voided, and have the remaining balance asked of it across all its lines. A request that breaks any of these is rejected (422) rather than partially applied.
- Productionhttps://api.mvmnt.io/v1/payments
- Demo (non-production)https://api.demo.mvmnt.io/v1/payments
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.mvmnt.io/v1/payments \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"customerId": "550e8400-e29b-41d4-a716-446655440000",
"paymentDate": "2025-01-15",
"paymentMethodType": "CHECK",
"reference": "CHK-12345",
"applications": [
{
"invoiceId": "660e8400-e29b-41d4-a716-446655440001",
"amount": 2500
}
]
}'Payment created successfully
Enhanced reference to a customer resource (returned in responses). Includes full customer details in addition to id/key.
Note: Does NOT include nested references (paymentTerm, contacts, etc.) to prevent recursion. Maximum nesting depth: 1 level.
Payment method type.
ACH_WIRE: ACH or wire transferZELLE: Zelle paymentVENMO: Venmo paymentCHECK: Paper checkEFT_DIRECT_DEPOSIT: EFT direct depositE_TRANSFER: Electronic transferCREDIT_CARD: Credit card payment
{ "id": "550e8400-e29b-41d4-a716-446655440000", "key": "PMT-00001", "customer": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-CUSTOMER-ACME", "name": "Acme Manufacturing Corp", "friendlyId": "A123456", "status": "ACTIVE", "phoneNumber": "+1-555-123-4567", "website": "https://acme-manufacturing.com", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }, "paymentDate": "2019-08-24", "paymentMethodType": "ACH_WIRE", "reference": "string", "notes": "string", "currency": "USD", "totalAmount": 0, "applications": [ { … } ], "creditApplications": [ { … } ], "overpaymentAmount": 0, "overpaymentCreditMemoId": "2f027b50-303e-4b13-9bf5-d1a4ed9ead57", "shipmentIds": [ "497f6eca-6276-4993-bfeb-53cbbbba6f08" ], "shipmentKeys": [ "string" ], "qboId": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }
- Productionhttps://api.mvmnt.io/v1/payments/{id}
- Demo (non-production)https://api.demo.mvmnt.io/v1/payments/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.mvmnt.io/v1/payments/550e8400-e29b-41d4-a716-446655440000?by=key' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'Payment retrieved successfully
Enhanced reference to a customer resource (returned in responses). Includes full customer details in addition to id/key.
Note: Does NOT include nested references (paymentTerm, contacts, etc.) to prevent recursion. Maximum nesting depth: 1 level.
Payment method type.
ACH_WIRE: ACH or wire transferZELLE: Zelle paymentVENMO: Venmo paymentCHECK: Paper checkEFT_DIRECT_DEPOSIT: EFT direct depositE_TRANSFER: Electronic transferCREDIT_CARD: Credit card payment
{ "id": "550e8400-e29b-41d4-a716-446655440000", "key": "PMT-00001", "customer": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-CUSTOMER-ACME", "name": "Acme Manufacturing Corp", "friendlyId": "A123456", "status": "ACTIVE", "phoneNumber": "+1-555-123-4567", "website": "https://acme-manufacturing.com", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }, "paymentDate": "2019-08-24", "paymentMethodType": "ACH_WIRE", "reference": "string", "notes": "string", "currency": "USD", "totalAmount": 0, "applications": [ { … } ], "creditApplications": [ { … } ], "overpaymentAmount": 0, "overpaymentCreditMemoId": "2f027b50-303e-4b13-9bf5-d1a4ed9ead57", "shipmentIds": [ "497f6eca-6276-4993-bfeb-53cbbbba6f08" ], "shipmentKeys": [ "string" ], "qboId": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }
Payment method type.
ACH_WIRE: ACH or wire transferZELLE: Zelle paymentVENMO: Venmo paymentCHECK: Paper checkEFT_DIRECT_DEPOSIT: EFT direct depositE_TRANSFER: Electronic transferCREDIT_CARD: Credit card payment
- Productionhttps://api.mvmnt.io/v1/payments/{id}
- Demo (non-production)https://api.demo.mvmnt.io/v1/payments/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PATCH \
'https://api.mvmnt.io/v1/payments/550e8400-e29b-41d4-a716-446655440000?by=key' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"reference": "CHK-12345-REV",
"notes": "Corrected check number"
}'Payment updated successfully
Enhanced reference to a customer resource (returned in responses). Includes full customer details in addition to id/key.
Note: Does NOT include nested references (paymentTerm, contacts, etc.) to prevent recursion. Maximum nesting depth: 1 level.
Payment method type.
ACH_WIRE: ACH or wire transferZELLE: Zelle paymentVENMO: Venmo paymentCHECK: Paper checkEFT_DIRECT_DEPOSIT: EFT direct depositE_TRANSFER: Electronic transferCREDIT_CARD: Credit card payment
{ "id": "550e8400-e29b-41d4-a716-446655440000", "key": "PMT-00001", "customer": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-CUSTOMER-ACME", "name": "Acme Manufacturing Corp", "friendlyId": "A123456", "status": "ACTIVE", "phoneNumber": "+1-555-123-4567", "website": "https://acme-manufacturing.com", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }, "paymentDate": "2019-08-24", "paymentMethodType": "ACH_WIRE", "reference": "string", "notes": "string", "currency": "USD", "totalAmount": 0, "applications": [ { … } ], "creditApplications": [ { … } ], "overpaymentAmount": 0, "overpaymentCreditMemoId": "2f027b50-303e-4b13-9bf5-d1a4ed9ead57", "shipmentIds": [ "497f6eca-6276-4993-bfeb-53cbbbba6f08" ], "shipmentKeys": [ "string" ], "qboId": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }
- Productionhttps://api.mvmnt.io/v1/payments/{id}
- Demo (non-production)https://api.demo.mvmnt.io/v1/payments/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X DELETE \
'https://api.mvmnt.io/v1/payments/550e8400-e29b-41d4-a716-446655440000?by=key' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'- Productionhttps://api.mvmnt.io/v1/payments/{id}/applications
- Demo (non-production)https://api.demo.mvmnt.io/v1/payments/{id}/applications
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.mvmnt.io/v1/payments/550e8400-e29b-41d4-a716-446655440000/applications?by=key' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{ "data": [ { … } ], "totalApplied": 0 }