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/

Companies

Operations

Carrier Contacts

Operations

Carriers

Operations

Carrier Factors

Operations

Carrier Payment Methods

Operations

Customer Contacts

Operations

Customers

Operations

Locations

Operations

Location Contacts

Operations

Payment Terms

Operations

Filter payment terms

Request

Filter payment terms using comprehensive query criteria with AND/OR logic and multiple operators. Supports complex filtering similar to GraphQL capabilities. Note: Soft-deleted payment terms are excluded by default (deletedAt defaults to { isNull: true }).

Security
BearerAuth
Bodyapplication/jsonrequired
filterobject(PaymentTermFilter)
Example: {"and":[{"doNotUse":{"equalTo":false}},{"days":{"greaterThan":0}}]}
pageSizeinteger[ 1 .. 250 ]

Number of results per page

Default 50
Example: 50
cursorstring

Pagination cursor for next page

curl -i -X POST \
  https://docs.mvmnt.io/_mock/apis/openapi/payment-terms/filter \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "filter": {
      "and": [
        {
          "doNotUse": {
            "equalTo": false
          }
        },
        {
          "days": {
            "greaterThan": 0
          }
        }
      ]
    },
    "pageSize": 50
  }'

Responses

Successful response

Bodyapplication/json
dataArray of objects(PaymentTerm)
paginationobject(PaginationInfo)
Response
application/json
{ "data": [ {} ], "pagination": { "pageSize": 50, "hasNextPage": true, "hasPreviousPage": false, "endCursor": "eyJpZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCJ9" } }

Create payment term

Request

Create a new payment term configuration in your organization

Security
BearerAuth
Bodyapplication/jsonrequired
namestringrequired

Payment term name

Example: "Net 30"
descriptionstring

Payment term description or notes

Example: "Payment due 30 days from invoice date"
daysinteger

Number of days until payment is due

Example: 30
quickPayFeenumber(float)

Quick pay fee percentage (e.g., 0.05 for 5%)

Example: 0.05
apOnlyboolean

Whether this payment term is for accounts payable only

Example: false
doNotUseboolean

Flag to prevent using this payment term for new transactions

Example: false
keystring<= 512 characters

Client-defined reference identifier

Example: "ERP-PAYTERM-NET30"
curl -i -X POST \
  https://docs.mvmnt.io/_mock/apis/openapi/payment-terms \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Net 30",
    "description": "Payment due 30 days from invoice date",
    "days": 30,
    "quickPayFee": 0.05,
    "apOnly": false,
    "doNotUse": false,
    "key": "ERP-PAYTERM-NET30"
  }'

Responses

Payment term created successfully

Bodyapplication/json
idstring(uuid)read-onlyrequired

Unique payment term identifier

Example: "550e8400-e29b-41d4-a716-446655440000"
namestringrequired

Payment term name

Example: "Net 30"
descriptionstring or null

Payment term description or notes

Example: "Payment due 30 days from invoice date"
daysinteger or null

Number of days until payment is due

Example: 30
quickPayFeenumber or null(float)

Quick pay fee percentage (e.g., 0.05 for 5%)

Example: 0.05
apOnlyboolean or null

Whether this payment term is for accounts payable only

Example: false
doNotUseboolean or null

Flag to prevent using this payment term for new transactions

Example: false
keystring or null<= 512 characters

Client-defined reference identifier

Example: "ERP-PAYTERM-NET30"
createdAtstring(date-time)read-onlyrequired

When the payment term was created

Example: "2025-01-15T10:00:00Z"
updatedAtstring(date-time)read-onlyrequired

When the payment term was last updated

Example: "2025-01-15T14:30:00Z"
deletedAtstring or null(date-time)read-only

When the payment term was soft deleted (null if active)

Example: null
Response
application/json
{ "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Net 30", "description": "Payment due 30 days from invoice date", "days": 30, "quickPayFee": 0.05, "apOnly": false, "doNotUse": false, "key": "ERP-PAYTERM-NET30", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }

Get payment term

Request

Retrieve a payment term by ID or client key

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/payment-terms/550e8400-e29b-41d4-a716-446655440000?by=key' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Successful response

Bodyapplication/json
idstring(uuid)read-onlyrequired

Unique payment term identifier

Example: "550e8400-e29b-41d4-a716-446655440000"
namestringrequired

Payment term name

Example: "Net 30"
descriptionstring or null

Payment term description or notes

Example: "Payment due 30 days from invoice date"
daysinteger or null

Number of days until payment is due

Example: 30
quickPayFeenumber or null(float)

Quick pay fee percentage (e.g., 0.05 for 5%)

Example: 0.05
apOnlyboolean or null

Whether this payment term is for accounts payable only

Example: false
doNotUseboolean or null

Flag to prevent using this payment term for new transactions

Example: false
keystring or null<= 512 characters

Client-defined reference identifier

Example: "ERP-PAYTERM-NET30"
createdAtstring(date-time)read-onlyrequired

When the payment term was created

Example: "2025-01-15T10:00:00Z"
updatedAtstring(date-time)read-onlyrequired

When the payment term was last updated

Example: "2025-01-15T14:30:00Z"
deletedAtstring or null(date-time)read-only

When the payment term was soft deleted (null if active)

Example: null
Response
application/json
{ "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Net 30", "description": "Payment due 30 days from invoice date", "days": 30, "quickPayFee": 0.05, "apOnly": false, "doNotUse": false, "key": "ERP-PAYTERM-NET30", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }

Update payment term

Request

Partially update a payment term. Only provided fields will be updated.

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
namestring

Payment term name

Example: "Net 30"
descriptionstring or null

Payment term description

Example: "Payment due 30 days from invoice date"
daysinteger or null

Number of days until payment is due

Example: 30
quickPayFeenumber or null(float)

Quick pay fee percentage

Example: 0.05
apOnlyboolean or null

Whether this payment term is for accounts payable only

Example: false
doNotUseboolean or null

Flag to prevent using this payment term

Example: false
keystring or null<= 512 characters

Client-defined reference identifier

Example: "ERP-PAYTERM-NET30"
curl -i -X PATCH \
  'https://docs.mvmnt.io/_mock/apis/openapi/payment-terms/550e8400-e29b-41d4-a716-446655440000?by=key' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Net 30",
    "description": "Payment due 30 days from invoice date",
    "days": 30,
    "quickPayFee": 0.05,
    "apOnly": false,
    "doNotUse": false,
    "key": "ERP-PAYTERM-NET30"
  }'

Responses

Payment term updated successfully

Bodyapplication/json
idstring(uuid)read-onlyrequired

Unique payment term identifier

Example: "550e8400-e29b-41d4-a716-446655440000"
namestringrequired

Payment term name

Example: "Net 30"
descriptionstring or null

Payment term description or notes

Example: "Payment due 30 days from invoice date"
daysinteger or null

Number of days until payment is due

Example: 30
quickPayFeenumber or null(float)

Quick pay fee percentage (e.g., 0.05 for 5%)

Example: 0.05
apOnlyboolean or null

Whether this payment term is for accounts payable only

Example: false
doNotUseboolean or null

Flag to prevent using this payment term for new transactions

Example: false
keystring or null<= 512 characters

Client-defined reference identifier

Example: "ERP-PAYTERM-NET30"
createdAtstring(date-time)read-onlyrequired

When the payment term was created

Example: "2025-01-15T10:00:00Z"
updatedAtstring(date-time)read-onlyrequired

When the payment term was last updated

Example: "2025-01-15T14:30:00Z"
deletedAtstring or null(date-time)read-only

When the payment term was soft deleted (null if active)

Example: null
Response
application/json
{ "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Net 30", "description": "Payment due 30 days from invoice date", "days": 30, "quickPayFee": 0.05, "apOnly": false, "doNotUse": false, "key": "ERP-PAYTERM-NET30", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }

Delete payment term

Request

Soft delete a payment term (sets deletedAt timestamp)

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/payment-terms/550e8400-e29b-41d4-a716-446655440000?by=key' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Payment term deleted successfully

Response
No content

Teams

Operations

Users

Operations

Vendors

Operations

Vendor Contacts

Operations

Vendor Payment Methods

Operations

Saved Searches

Operations

Event Notifications

Webhooks