Skip to content

MVMNT API (1.0.0)

The MVMNT API enables you to automate freight brokerage workflows by integrating directly with our Transportation Management System.

Authentication

OAuth 2.0 client credentials flow. See Authentication Guide for details.

Token Endpoint

POST https://api.mvmnt.io/oauth2/token

Request

Headers:

Content-Type: application/x-www-form-urlencoded

Body Parameters:

grant_type=client_credentials
client_id=YOUR_CLIENT_ID
client_secret=YOUR_CLIENT_SECRET

Example Request

curl -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"

Success Response

Status: 200 OK

{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 3600
}

Response Fields:

  • access_token: JWT Bearer token to use for API requests
  • token_type: Always Bearer
  • expires_in: Token lifetime in seconds (3600 = 1 hour)
Download OpenAPI description
Overview
Languages
Servers
Mock server
https://docs.mvmnt.io/_mock/apis/openapi
Production
https://api.mvmnt.io/v1

Carriers

Carrier management operations

Operations

Carrier Contacts

Carrier contact management operations

Operations

Carrier Factors

Carrier factor (factoring company) management operations

Operations

Carrier Payment Methods

Carrier payment method management operations

Operations

Companies

Company management operations

Operations

Credit Memos

AR credit memo management operations. Credit memos represent customer credits that can be applied to invoices.

Operations

Bills

AP bill management operations. Bills represent carrier and vendor invoices to be paid.

Operations

Bill Payments

AP bill payment management operations. Bill payments record payments made to carriers and vendors.

Operations

Customers

Customer management operations

Operations

Customer Contacts

Customer contact management operations

Operations

Documents

Document management operations. Documents are files (PDFs, images) that can be attached to orders, loads, or services.

Operations

Invoices

AR invoice management operations. Invoices represent customer billing for shipment services.

Operations

Loads

Load management operations. Loads represent carrier execution - which carrier is moving the freight.

Operations

Locations

Location management operations

Operations

Location Contacts

Location contact management operations

Operations

Payment Terms

Payment term management operations

Operations

Payments

AR payment management operations. Payments represent received customer payments applied to invoices.

Operations

Filter payments

Request

Search for AR payments using filter criteria.

Common Filters

  • By customer: { "filter": { "customerId": { "equalTo": "uuid" } } }
  • By invoice: { "filter": { "invoiceId": { "equalTo": "uuid" } } }
  • By date range: { "filter": { "paymentDate": { "greaterThanOrEqualTo": "2025-01-01" } } }
  • By method: { "filter": { "paymentMethodType": { "equalTo": "check" } } }
Security
BearerAuth
Bodyapplication/jsonrequired
filterobject(PaymentFilter)
pageSizeinteger[ 1 .. 100 ]
Default 50
cursorstring
curl -i -X POST \
  https://docs.mvmnt.io/_mock/apis/openapi/payments/filter \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "filter": {
      "customerId": {
        "equalTo": "550e8400-e29b-41d4-a716-446655440000"
      }
    }
  }'

Responses

Payments matching filter criteria

Bodyapplication/json
dataArray of objects(Payment)required
data[].​idstring(uuid)required
Example: "550e8400-e29b-41d4-a716-446655440000"
data[].​keystring or null

Human-readable payment key

Example: "PMT-00001"
data[].​customerobject(CustomerReference)

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.

data[].​paymentDatestring(date)required

Date payment was received

data[].​paymentMethodTypestring(payments_PaymentMethodType)

Payment method type.

  • ACH_WIRE: ACH or wire transfer
  • ZELLE: Zelle payment
  • VENMO: Venmo payment
  • CHECK: Paper check
  • EFT_DIRECT_DEPOSIT: EFT direct deposit
  • E_TRANSFER: Electronic transfer
  • CREDIT_CARD: Credit card payment
Enum"ACH_WIRE""ZELLE""VENMO""CHECK""EFT_DIRECT_DEPOSIT""E_TRANSFER""CREDIT_CARD"
data[].​referencestring or null

Check number, transaction ID, etc.

data[].​notesstring or null

Payment notes

data[].​currencystring or null

Currency code

Example: "USD"
data[].​totalAmountnumberrequired

Total payment amount

data[].​applicationsArray of objects(PaymentApplication)

Invoices this payment is applied to

data[].​creditApplicationsArray of objects(PaymentCreditApplication)

Credits applied in this payment

data[].​overpaymentAmountnumber or null

Amount in excess of invoice totals

data[].​overpaymentCreditMemoIdstring or null(uuid)

Credit memo created from overpayment

data[].​shipmentIdsArray of strings(uuid)

Related shipment IDs

data[].​shipmentKeysArray of strings

Related shipment friendly IDs

data[].​qboIdstring or null

QuickBooks Online payment ID

data[].​createdAtstring(date-time)required
data[].​updatedAtstring or null(date-time)
paginationobject(PaginationInfo)required
pagination.​pageSizeintegerrequired

Number of items per page

Example: 50
pagination.​hasNextPagebooleanrequired

Whether there are more pages

Example: true
pagination.​hasPreviousPageboolean

Whether there are previous pages

Example: false
pagination.​endCursorstring or null

Cursor for the next page (null if no next page)

Example: "eyJpZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCJ9"
Response
application/json
{ "data": [ {} ], "pagination": { "pageSize": 50, "hasNextPage": true, "hasPreviousPage": false, "endCursor": "eyJpZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCJ9" } }

Create a payment

Request

Record a customer payment applied to invoices.

What happens

  • Payment record is created
  • Specified amounts are applied to invoices
  • Invoice/order status updated to PAID when fully paid
  • Overpayment creates a credit memo automatically

Validations

  • Payment date must be >= invoice date for all applied invoices
  • Application amounts must not exceed invoice open balances
  • Customer must match invoice customer
Security
BearerAuth
Bodyapplication/jsonrequired
customerIdstring(uuid)required

Customer making the payment

paymentDatestring(date)required

Date payment was received

paymentMethodTypestring(payments_PaymentMethodType)

Payment method type.

  • ACH_WIRE: ACH or wire transfer
  • ZELLE: Zelle payment
  • VENMO: Venmo payment
  • CHECK: Paper check
  • EFT_DIRECT_DEPOSIT: EFT direct deposit
  • E_TRANSFER: Electronic transfer
  • CREDIT_CARD: Credit card payment
Enum"ACH_WIRE""ZELLE""VENMO""CHECK""EFT_DIRECT_DEPOSIT""E_TRANSFER""CREDIT_CARD"
referencestring<= 500 characters

Check number, transaction ID, etc.

notesstring<= 2000 characters

Payment notes

applicationsArray of objects(PaymentApplicationInput)non-emptyrequired

Invoices to apply payment to

applications[].​invoiceIdstring(uuid)required

Invoice to apply payment to

applications[].​amountnumber>= 0.01required

Amount to apply to this invoice

creditApplicationsArray of objects(PaymentCreditApplicationInput)

Credits to apply in this payment

curl -i -X POST \
  https://docs.mvmnt.io/_mock/apis/openapi/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
      }
    ]
  }'

Responses

Payment created successfully

Bodyapplication/json
idstring(uuid)required
Example: "550e8400-e29b-41d4-a716-446655440000"
keystring or null

Human-readable payment key

Example: "PMT-00001"
customerobject(CustomerReference)

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.

paymentDatestring(date)required

Date payment was received

paymentMethodTypestring(payments_PaymentMethodType)

Payment method type.

  • ACH_WIRE: ACH or wire transfer
  • ZELLE: Zelle payment
  • VENMO: Venmo payment
  • CHECK: Paper check
  • EFT_DIRECT_DEPOSIT: EFT direct deposit
  • E_TRANSFER: Electronic transfer
  • CREDIT_CARD: Credit card payment
Enum"ACH_WIRE""ZELLE""VENMO""CHECK""EFT_DIRECT_DEPOSIT""E_TRANSFER""CREDIT_CARD"
referencestring or null

Check number, transaction ID, etc.

notesstring or null

Payment notes

currencystring or null

Currency code

Example: "USD"
totalAmountnumberrequired

Total payment amount

applicationsArray of objects(PaymentApplication)

Invoices this payment is applied to

creditApplicationsArray of objects(PaymentCreditApplication)

Credits applied in this payment

overpaymentAmountnumber or null

Amount in excess of invoice totals

overpaymentCreditMemoIdstring or null(uuid)

Credit memo created from overpayment

shipmentIdsArray of strings(uuid)

Related shipment IDs

shipmentKeysArray of strings

Related shipment friendly IDs

qboIdstring or null

QuickBooks Online payment ID

createdAtstring(date-time)required
updatedAtstring or null(date-time)
Response
application/json
{ "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" }

Get a payment

Request

Retrieve a payment by ID.

The response includes all invoice applications and credit applications.

Security
BearerAuth
Path
idstringrequired

Resource ID (UUID) or client key

Example: 550e8400-e29b-41d4-a716-446655440000
Query
bystring

Specify lookup type for faster retrieval. If omitted, defaults to looking up by ID first, then falls back to client key if not found. Use by=key when you know you're providing a client key for best performance.

Enum"id""key"
Example: by=key
curl -i -X GET \
  'https://docs.mvmnt.io/_mock/apis/openapi/payments/550e8400-e29b-41d4-a716-446655440000?by=key' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Payment retrieved successfully

Bodyapplication/json
idstring(uuid)required
Example: "550e8400-e29b-41d4-a716-446655440000"
keystring or null

Human-readable payment key

Example: "PMT-00001"
customerobject(CustomerReference)

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.

paymentDatestring(date)required

Date payment was received

paymentMethodTypestring(payments_PaymentMethodType)

Payment method type.

  • ACH_WIRE: ACH or wire transfer
  • ZELLE: Zelle payment
  • VENMO: Venmo payment
  • CHECK: Paper check
  • EFT_DIRECT_DEPOSIT: EFT direct deposit
  • E_TRANSFER: Electronic transfer
  • CREDIT_CARD: Credit card payment
Enum"ACH_WIRE""ZELLE""VENMO""CHECK""EFT_DIRECT_DEPOSIT""E_TRANSFER""CREDIT_CARD"
referencestring or null

Check number, transaction ID, etc.

notesstring or null

Payment notes

currencystring or null

Currency code

Example: "USD"
totalAmountnumberrequired

Total payment amount

applicationsArray of objects(PaymentApplication)

Invoices this payment is applied to

creditApplicationsArray of objects(PaymentCreditApplication)

Credits applied in this payment

overpaymentAmountnumber or null

Amount in excess of invoice totals

overpaymentCreditMemoIdstring or null(uuid)

Credit memo created from overpayment

shipmentIdsArray of strings(uuid)

Related shipment IDs

shipmentKeysArray of strings

Related shipment friendly IDs

qboIdstring or null

QuickBooks Online payment ID

createdAtstring(date-time)required
updatedAtstring or null(date-time)
Response
application/json
{ "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" }

Update a payment

Request

Update payment details or reassign invoice applications.

What happens

  • Payment fields are updated
  • Invoice applications are replaced if provided
  • Order statuses are recalculated

Note

Updating applications replaces all existing applications. Include all desired applications in the request.

Security
BearerAuth
Path
idstringrequired

Resource ID (UUID) or client key

Example: 550e8400-e29b-41d4-a716-446655440000
Query
bystring

Specify lookup type for faster retrieval. If omitted, defaults to looking up by ID first, then falls back to client key if not found. Use by=key when you know you're providing a client key for best performance.

Enum"id""key"
Example: by=key
Bodyapplication/jsonrequired
paymentDatestring(date)
paymentMethodTypestring(payments_PaymentMethodType)

Payment method type.

  • ACH_WIRE: ACH or wire transfer
  • ZELLE: Zelle payment
  • VENMO: Venmo payment
  • CHECK: Paper check
  • EFT_DIRECT_DEPOSIT: EFT direct deposit
  • E_TRANSFER: Electronic transfer
  • CREDIT_CARD: Credit card payment
Enum"ACH_WIRE""ZELLE""VENMO""CHECK""EFT_DIRECT_DEPOSIT""E_TRANSFER""CREDIT_CARD"
referencestring or null
notesstring or null
applicationsArray of objects(PaymentApplicationInput)

Replace all invoice applications

creditApplicationsArray of objects(PaymentCreditApplicationInput)

Replace all credit applications

curl -i -X PATCH \
  'https://docs.mvmnt.io/_mock/apis/openapi/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"
  }'

Responses

Payment updated successfully

Bodyapplication/json
idstring(uuid)required
Example: "550e8400-e29b-41d4-a716-446655440000"
keystring or null

Human-readable payment key

Example: "PMT-00001"
customerobject(CustomerReference)

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.

paymentDatestring(date)required

Date payment was received

paymentMethodTypestring(payments_PaymentMethodType)

Payment method type.

  • ACH_WIRE: ACH or wire transfer
  • ZELLE: Zelle payment
  • VENMO: Venmo payment
  • CHECK: Paper check
  • EFT_DIRECT_DEPOSIT: EFT direct deposit
  • E_TRANSFER: Electronic transfer
  • CREDIT_CARD: Credit card payment
Enum"ACH_WIRE""ZELLE""VENMO""CHECK""EFT_DIRECT_DEPOSIT""E_TRANSFER""CREDIT_CARD"
referencestring or null

Check number, transaction ID, etc.

notesstring or null

Payment notes

currencystring or null

Currency code

Example: "USD"
totalAmountnumberrequired

Total payment amount

applicationsArray of objects(PaymentApplication)

Invoices this payment is applied to

creditApplicationsArray of objects(PaymentCreditApplication)

Credits applied in this payment

overpaymentAmountnumber or null

Amount in excess of invoice totals

overpaymentCreditMemoIdstring or null(uuid)

Credit memo created from overpayment

shipmentIdsArray of strings(uuid)

Related shipment IDs

shipmentKeysArray of strings

Related shipment friendly IDs

qboIdstring or null

QuickBooks Online payment ID

createdAtstring(date-time)required
updatedAtstring or null(date-time)
Response
application/json
{ "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" }

Delete a payment

Request

Delete a payment and remove all invoice applications.

What happens

  • Payment record is deleted
  • Invoice applications are removed
  • Order statuses revert if needed (PAID → UNPAID)

Note

This action cannot be undone. Consider voiding instead if you need to maintain a record.

Security
BearerAuth
Path
idstringrequired

Resource ID (UUID) or client key

Example: 550e8400-e29b-41d4-a716-446655440000
Query
bystring

Specify lookup type for faster retrieval. If omitted, defaults to looking up by ID first, then falls back to client key if not found. Use by=key when you know you're providing a client key for best performance.

Enum"id""key"
Example: by=key
curl -i -X DELETE \
  'https://docs.mvmnt.io/_mock/apis/openapi/payments/550e8400-e29b-41d4-a716-446655440000?by=key' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Payment deleted successfully

Response
No content

Get payment applications

Request

List all invoice applications for a payment.

Security
BearerAuth
Path
idstringrequired

Resource ID (UUID) or client key

Example: 550e8400-e29b-41d4-a716-446655440000
Query
bystring

Specify lookup type for faster retrieval. If omitted, defaults to looking up by ID first, then falls back to client key if not found. Use by=key when you know you're providing a client key for best performance.

Enum"id""key"
Example: by=key
curl -i -X GET \
  'https://docs.mvmnt.io/_mock/apis/openapi/payments/550e8400-e29b-41d4-a716-446655440000/applications?by=key' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Applications retrieved successfully

Bodyapplication/json
dataArray of objects(PaymentApplication)
totalAppliednumber
Response
application/json
{ "data": [ {} ], "totalApplied": 0 }

Quotes

Quote management operations. Quotes are pricing requests/responses that can be converted to shipments.

Operations

Saved Searches

Saved search management operations

Operations

Services

Service (vended service) management operations. Services represent non-carrier vendor work (drayage, customs, warehousing).

Operations

Shipments

Shipment tracking and management operations. Shipments contain orders, loads, and services.

Operations

Teams

Team management operations

Operations

Users

User management operations

Operations

Vendors

Vendor management operations

Operations

Vendor Contacts

Vendor contact management operations

Operations

Vendor Payment Methods

Vendor payment method management operations

Operations

Event Notifications

Webhooks