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.
- Productionhttps://api.mvmnt.io/v1/credit-memos/filter
- Demo (non-production)https://api.demo.mvmnt.io/v1/credit-memos/filter
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.mvmnt.io/v1/credit-memos/filter \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"filter": {
"customerId": {
"equalTo": "550e8400-e29b-41d4-a716-446655440000"
}
}
}'Credit memos 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.
Current status of the credit memo (derived from remaining balance).
OPEN: No applications, full balance availablePARTIALLY_APPLIED: Some amount applied, balance remainsAPPLIED: Fully applied to invoicesVOIDED: Credit memo cancelled
{ "data": [ { … } ], "pagination": { "pageSize": 50, "hasNextPage": true, "hasPreviousPage": false, "endCursor": "eyJpZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCJ9" } }
- Productionhttps://api.mvmnt.io/v1/credit-memos
- Demo (non-production)https://api.demo.mvmnt.io/v1/credit-memos
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.mvmnt.io/v1/credit-memos \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"customerId": "550e8400-e29b-41d4-a716-446655440000",
"amount": 500,
"currency": "USD",
"memoDate": "2025-01-15",
"reference": "CM-00001",
"notes": "Refund for damaged goods"
}'Credit memo 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.
Current status of the credit memo (derived from remaining balance).
OPEN: No applications, full balance availablePARTIALLY_APPLIED: Some amount applied, balance remainsAPPLIED: Fully applied to invoicesVOIDED: Credit memo cancelled
{ "id": "550e8400-e29b-41d4-a716-446655440000", "key": "string", "reference": "CM-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 }, "amount": 0, "appliedAmount": 0, "remainingBalance": 0, "currency": "USD", "status": "OPEN", "memoDate": "2019-08-24", "notes": "string", "sourcePaymentGroupId": "88f8a750-5184-4109-bb35-e2e1ef4ac566", "sourcePaymentKey": "string", "applications": [ { … } ], "qboId": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "voidedAt": "2019-08-24T14:15:22Z", "voidReason": "string", "createdBy": { "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 } }
- Productionhttps://api.mvmnt.io/v1/credit-memos/{id}
- Demo (non-production)https://api.demo.mvmnt.io/v1/credit-memos/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.mvmnt.io/v1/credit-memos/550e8400-e29b-41d4-a716-446655440000?by=key' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'Credit memo 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.
Current status of the credit memo (derived from remaining balance).
OPEN: No applications, full balance availablePARTIALLY_APPLIED: Some amount applied, balance remainsAPPLIED: Fully applied to invoicesVOIDED: Credit memo cancelled
{ "id": "550e8400-e29b-41d4-a716-446655440000", "key": "string", "reference": "CM-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 }, "amount": 0, "appliedAmount": 0, "remainingBalance": 0, "currency": "USD", "status": "OPEN", "memoDate": "2019-08-24", "notes": "string", "sourcePaymentGroupId": "88f8a750-5184-4109-bb35-e2e1ef4ac566", "sourcePaymentKey": "string", "applications": [ { … } ], "qboId": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "voidedAt": "2019-08-24T14:15:22Z", "voidReason": "string", "createdBy": { "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 } }
- Productionhttps://api.mvmnt.io/v1/credit-memos/{id}
- Demo (non-production)https://api.demo.mvmnt.io/v1/credit-memos/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PATCH \
'https://api.mvmnt.io/v1/credit-memos/550e8400-e29b-41d4-a716-446655440000?by=key' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"reference": "CM-00001-REV"
}'Credit memo 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.
Current status of the credit memo (derived from remaining balance).
OPEN: No applications, full balance availablePARTIALLY_APPLIED: Some amount applied, balance remainsAPPLIED: Fully applied to invoicesVOIDED: Credit memo cancelled
{ "id": "550e8400-e29b-41d4-a716-446655440000", "key": "string", "reference": "CM-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 }, "amount": 0, "appliedAmount": 0, "remainingBalance": 0, "currency": "USD", "status": "OPEN", "memoDate": "2019-08-24", "notes": "string", "sourcePaymentGroupId": "88f8a750-5184-4109-bb35-e2e1ef4ac566", "sourcePaymentKey": "string", "applications": [ { … } ], "qboId": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "voidedAt": "2019-08-24T14:15:22Z", "voidReason": "string", "createdBy": { "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 } }
- Productionhttps://api.mvmnt.io/v1/credit-memos/{id}/void
- Demo (non-production)https://api.demo.mvmnt.io/v1/credit-memos/{id}/void
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://api.mvmnt.io/v1/credit-memos/550e8400-e29b-41d4-a716-446655440000/void?by=key' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"reason": "Credit issued in error"
}'Credit memo voided 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.
Current status of the credit memo (derived from remaining balance).
OPEN: No applications, full balance availablePARTIALLY_APPLIED: Some amount applied, balance remainsAPPLIED: Fully applied to invoicesVOIDED: Credit memo cancelled
{ "id": "550e8400-e29b-41d4-a716-446655440000", "key": "string", "reference": "CM-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 }, "amount": 0, "appliedAmount": 0, "remainingBalance": 0, "currency": "USD", "status": "OPEN", "memoDate": "2019-08-24", "notes": "string", "sourcePaymentGroupId": "88f8a750-5184-4109-bb35-e2e1ef4ac566", "sourcePaymentKey": "string", "applications": [ { … } ], "qboId": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "voidedAt": "2019-08-24T14:15:22Z", "voidReason": "string", "createdBy": { "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 } }
Request
Apply credit memo amount to an invoice.
- Creates credit application record
- Reduces credit memo remaining balance
- Reduces invoice open balance
- Updates order status if invoice is fully paid
- Amount must not exceed remaining balance
- Invoice must belong to same customer
- Invoice must have outstanding balance
- Currency must match
- Productionhttps://api.mvmnt.io/v1/credit-memos/{id}/apply
- Demo (non-production)https://api.demo.mvmnt.io/v1/credit-memos/{id}/apply
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://api.mvmnt.io/v1/credit-memos/550e8400-e29b-41d4-a716-446655440000/apply?by=key' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"invoiceId": "660e8400-e29b-41d4-a716-446655440001",
"amount": 200
}'Credit applied 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.
Current status of the credit memo (derived from remaining balance).
OPEN: No applications, full balance availablePARTIALLY_APPLIED: Some amount applied, balance remainsAPPLIED: Fully applied to invoicesVOIDED: Credit memo cancelled
{ "application": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "invoiceId": "4f163819-178d-470c-a246-d6768476a6ec", "invoiceFriendlyId": "string", "paymentId": "472e651e-5a1e-424d-8098-23858bf03ad7", "paymentKey": "string", "amount": 0, "appliedAt": "2019-08-24T14:15:22Z" }, "creditMemo": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "string", "reference": "CM-00001", "customer": { … }, "amount": 0, "appliedAmount": 0, "remainingBalance": 0, "currency": "USD", "status": "OPEN", "memoDate": "2019-08-24", "notes": "string", "sourcePaymentGroupId": "88f8a750-5184-4109-bb35-e2e1ef4ac566", "sourcePaymentKey": "string", "applications": [ … ], "qboId": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "voidedAt": "2019-08-24T14:15:22Z", "voidReason": "string", "createdBy": { … } } }
- Productionhttps://api.mvmnt.io/v1/credit-memos/{id}/applications
- Demo (non-production)https://api.demo.mvmnt.io/v1/credit-memos/{id}/applications
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.mvmnt.io/v1/credit-memos/550e8400-e29b-41d4-a716-446655440000/applications?by=key' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{ "data": [ { … } ], "totalApplied": 0, "remainingBalance": 0 }
- Productionhttps://api.mvmnt.io/v1/credit-memos/{creditMemoId}/applications/{applicationId}
- Demo (non-production)https://api.demo.mvmnt.io/v1/credit-memos/{creditMemoId}/applications/{applicationId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X DELETE \
'https://api.mvmnt.io/v1/credit-memos/{creditMemoId}/applications/{applicationId}' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'Credit unapplied 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.
Current status of the credit memo (derived from remaining balance).
OPEN: No applications, full balance availablePARTIALLY_APPLIED: Some amount applied, balance remainsAPPLIED: Fully applied to invoicesVOIDED: Credit memo cancelled
{ "id": "550e8400-e29b-41d4-a716-446655440000", "key": "string", "reference": "CM-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 }, "amount": 0, "appliedAmount": 0, "remainingBalance": 0, "currency": "USD", "status": "OPEN", "memoDate": "2019-08-24", "notes": "string", "sourcePaymentGroupId": "88f8a750-5184-4109-bb35-e2e1ef4ac566", "sourcePaymentKey": "string", "applications": [ { … } ], "qboId": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "voidedAt": "2019-08-24T14:15:22Z", "voidReason": "string", "createdBy": { "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 } }
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.