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.

Postman setup guide: API Clients.

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)

Idempotency

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.

Overview
Languages
Servers
Production
https://api.mvmnt.io/v1
Demo (non-production)
https://api.demo.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

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.

Operations

Payments

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

Operations

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

Filter vendors

Request

Query vendors using flexible filter criteria with AND/OR logic.

By default, only non-deleted vendors are returned (deletedAt: { isNull: true }). Override this by explicitly setting deletedAt filter criteria.

Security
BearerAuth
Bodyapplication/jsonrequired
filterobject(VendorFilter)

Filter criteria (optional - omit to return all vendors).

Note: deletedAt automatically defaults to { isNull: true } unless explicitly overridden.

Example: {"and":[{"status":{"equalTo":"ACTIVE"}},{"currency":{"equalTo":"USD"}}]}
pageSizeinteger[ 1 .. 250 ]

Number of results per page

Default 50
Example: 50
cursorstring

Pagination cursor for next page

curl -i -X POST \
  https://api.mvmnt.io/v1/vendors/filter \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "filter": {
      "and": [
        {
          "status": {
            "equalTo": "ACTIVE"
          }
        },
        {
          "currency": {
            "equalTo": "USD"
          }
        }
      ]
    },
    "pageSize": 50
  }'

Responses

Filtered vendors with pagination

Bodyapplication/json
dataArray of objects(Vendor)required
objectstringread-only

Object type identifier

Value"VENDOR"
Example: "VENDOR"
idstring(uuid)read-onlyrequired

Unique vendor identifier

Example: "550e8400-e29b-41d4-a716-446655440000"
friendlyIdstringread-onlyrequired

Human-readable vendor identifier

Example: "V123456"
namestringrequired

Vendor legal name

Example: "ABC Warehouse Services"
keystring or null<= 512 characters

Client-defined reference identifier

Example: "ERP-VENDOR-ABC-001"
emailstring or null(email)

Primary email address

Example: "billing@abcwarehouse.com"
phonestring or null

Primary phone number

Example: "+1-555-123-4567"
statusstring or null

Vendor status

Example: "ACTIVE"
notesstring or null

Internal notes about the vendor

Example: "Preferred vendor for warehouse services"
taxIdstring or null

Tax identification number

Example: "12-3456789"
currencyvendors_Currency (string) or null

Preferred currency for transactions

Any of:

Currency code

string(vendors_Currency)
Enum"ARS""AUD""BRL""CAD""CNY""EUR""GBP""IDR""INR""JPY"
corporateAddressAddress (object) or null

Corporate headquarters address

Any of:

Physical address/location details (nested, without id).

This is an embedded object representing a Location record. The id is managed internally and not exposed in the API.

billingAddressAddress (object) or null

Billing address for invoices

Any of:

Physical address/location details (nested, without id).

This is an embedded object representing a Location record. The id is managed internally and not exposed in the API.

paymentTermPaymentTermReference (object) or null

Payment terms for this vendor

Any of:

Enhanced reference to a payment term resource (returned in responses). Includes full payment term details in addition to id/key.

isMvmntboolean or null

Whether this vendor is MVMNT itself

Example: false
requiredDocumentsArray of strings or null

List of required document types

Example: ["W9","INSURANCE_CERTIFICATE"]
paymentMethodsArray of objects(VendorPaymentMethodReference)

Payment methods configured for this vendor

contactsArray of objects(VendorContactReference)

Contacts for this vendor

deletedByUserReference (object) or nullread-only

User who deleted this vendor (full user details)

Any of:

Enhanced reference to a user resource (returned in responses). Includes full user details in addition to id/key.

Note: Does NOT include nested references (teams, etc.) to prevent recursion. Maximum nesting depth: 1 level.

createdAtstring(date-time)read-onlyrequired

When the vendor was created

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

When the vendor was last updated

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

When the vendor was soft deleted (null if active)

Example: null
pageInfoobject(PaginationInfo)required
pageSizeintegerrequired

Number of items per page

Example: 50
hasNextPagebooleanrequired

Whether there are more pages

Example: true
hasPreviousPageboolean

Whether there are previous pages

Example: false
endCursorstring or null

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

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

Create a new vendor

Request

Create a new vendor within an organization.

Vendors represent service providers (warehousing, storage, etc.) that are not carriers.

Security
BearerAuth
Bodyapplication/jsonrequired
namestringrequired

Vendor legal name

Example: "ABC Warehouse Services"
keystring<= 512 characters

Client-defined reference identifier

Example: "ERP-VENDOR-ABC-001"
emailstring(email)

Primary email address

Example: "billing@abcwarehouse.com"
phonestring

Primary phone number

Example: "+1-555-123-4567"
statusstring

Vendor status

Example: "ACTIVE"
notesstring

Internal notes about the vendor

Example: "Preferred vendor for warehouse services"
taxIdstring

Tax identification number

Example: "12-3456789"
currencystring(vendors_Currency)

Preferred currency for transactions

Enum"ARS""AUD""BRL""CAD""CNY""EUR""GBP""IDR""INR""JPY"
corporateAddressobject(AddressInput)

Corporate headquarters address

billingAddressobject(AddressInput)

Billing address for invoices

paymentTermIdstring(uuid)

Payment term ID

Example: "550e8400-e29b-41d4-a716-446655440001"
isMvmntboolean

Whether this vendor is MVMNT itself

Example: false
requiredDocumentsArray of strings

List of required document types

Example: ["W9","INSURANCE_CERTIFICATE"]
curl -i -X POST \
  https://api.mvmnt.io/v1/vendors \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "ABC Warehouse Services",
    "email": "billing@abcwarehouse.com",
    "phone": "+1-555-123-4567",
    "status": "ACTIVE",
    "currency": "USD",
    "taxId": "12-3456789"
  }'

Responses

Vendor created successfully

Bodyapplication/json
objectstringread-only

Object type identifier

Value"VENDOR"
Example: "VENDOR"
idstring(uuid)read-onlyrequired

Unique vendor identifier

Example: "550e8400-e29b-41d4-a716-446655440000"
friendlyIdstringread-onlyrequired

Human-readable vendor identifier

Example: "V123456"
namestringrequired

Vendor legal name

Example: "ABC Warehouse Services"
keystring or null<= 512 characters

Client-defined reference identifier

Example: "ERP-VENDOR-ABC-001"
emailstring or null(email)

Primary email address

Example: "billing@abcwarehouse.com"
phonestring or null

Primary phone number

Example: "+1-555-123-4567"
statusstring or null

Vendor status

Example: "ACTIVE"
notesstring or null

Internal notes about the vendor

Example: "Preferred vendor for warehouse services"
taxIdstring or null

Tax identification number

Example: "12-3456789"
currencyvendors_Currency (string) or null

Preferred currency for transactions

Any of:

Currency code

string(vendors_Currency)
Enum"ARS""AUD""BRL""CAD""CNY""EUR""GBP""IDR""INR""JPY"
corporateAddressAddress (object) or null

Corporate headquarters address

Any of:

Physical address/location details (nested, without id).

This is an embedded object representing a Location record. The id is managed internally and not exposed in the API.

billingAddressAddress (object) or null

Billing address for invoices

Any of:

Physical address/location details (nested, without id).

This is an embedded object representing a Location record. The id is managed internally and not exposed in the API.

paymentTermPaymentTermReference (object) or null

Payment terms for this vendor

Any of:

Enhanced reference to a payment term resource (returned in responses). Includes full payment term details in addition to id/key.

isMvmntboolean or null

Whether this vendor is MVMNT itself

Example: false
requiredDocumentsArray of strings or null

List of required document types

Example: ["W9","INSURANCE_CERTIFICATE"]
paymentMethodsArray of objects(VendorPaymentMethodReference)

Payment methods configured for this vendor

contactsArray of objects(VendorContactReference)

Contacts for this vendor

deletedByUserReference (object) or nullread-only

User who deleted this vendor (full user details)

Any of:

Enhanced reference to a user resource (returned in responses). Includes full user details in addition to id/key.

Note: Does NOT include nested references (teams, etc.) to prevent recursion. Maximum nesting depth: 1 level.

createdAtstring(date-time)read-onlyrequired

When the vendor was created

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

When the vendor was last updated

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

When the vendor was soft deleted (null if active)

Example: null
Response
application/json
{ "object": "VENDOR", "id": "550e8400-e29b-41d4-a716-446655440000", "friendlyId": "V123456", "name": "ABC Warehouse Services", "key": "ERP-VENDOR-ABC-001", "email": "billing@abcwarehouse.com", "phone": "+1-555-123-4567", "status": "ACTIVE", "notes": "Preferred vendor for warehouse services", "taxId": "12-3456789", "currency": "ARS", "corporateAddress": { "line1": "123 Main St", "line2": "Suite 400", "city": "Chicago", "state": "IL", "zipCode": "60601", "country": "USA", "market": "CHI", "latitude": "41.8781", "longitude": "-87.6298", "isAirportOrAirbase": false, "isConstructionOrUtilitySite": false, "isSmartyValidated": true, "obeysDst": true, "cityId": null }, "billingAddress": { "line1": "123 Main St", "line2": "Suite 400", "city": "Chicago", "state": "IL", "zipCode": "60601", "country": "USA", "market": "CHI", "latitude": "41.8781", "longitude": "-87.6298", "isAirportOrAirbase": false, "isConstructionOrUtilitySite": false, "isSmartyValidated": true, "obeysDst": true, "cityId": null }, "paymentTerm": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-PAYTERM-NET30", "name": "Net 30", "description": "Payment due 30 days from invoice date", "days": 30, "quickPayFee": 0.05, "apOnly": false, "doNotUse": false, "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }, "isMvmnt": false, "requiredDocuments": [ "W9", "INSURANCE_CERTIFICATE" ], "paymentMethods": [ {} ], "contacts": [ {} ], "deletedBy": { "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 }, "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }

Get a vendor by ID

Request

Retrieve a single vendor by its unique identifier.

Security
BearerAuth
Path
idstringrequired

Resource ID (UUID) or client key

Example: 550e8400-e29b-41d4-a716-446655440000
curl -i -X GET \
  https://api.mvmnt.io/v1/vendors/550e8400-e29b-41d4-a716-446655440000 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Vendor found

Bodyapplication/json
objectstringread-only

Object type identifier

Value"VENDOR"
Example: "VENDOR"
idstring(uuid)read-onlyrequired

Unique vendor identifier

Example: "550e8400-e29b-41d4-a716-446655440000"
friendlyIdstringread-onlyrequired

Human-readable vendor identifier

Example: "V123456"
namestringrequired

Vendor legal name

Example: "ABC Warehouse Services"
keystring or null<= 512 characters

Client-defined reference identifier

Example: "ERP-VENDOR-ABC-001"
emailstring or null(email)

Primary email address

Example: "billing@abcwarehouse.com"
phonestring or null

Primary phone number

Example: "+1-555-123-4567"
statusstring or null

Vendor status

Example: "ACTIVE"
notesstring or null

Internal notes about the vendor

Example: "Preferred vendor for warehouse services"
taxIdstring or null

Tax identification number

Example: "12-3456789"
currencyvendors_Currency (string) or null

Preferred currency for transactions

Any of:

Currency code

string(vendors_Currency)
Enum"ARS""AUD""BRL""CAD""CNY""EUR""GBP""IDR""INR""JPY"
corporateAddressAddress (object) or null

Corporate headquarters address

Any of:

Physical address/location details (nested, without id).

This is an embedded object representing a Location record. The id is managed internally and not exposed in the API.

billingAddressAddress (object) or null

Billing address for invoices

Any of:

Physical address/location details (nested, without id).

This is an embedded object representing a Location record. The id is managed internally and not exposed in the API.

paymentTermPaymentTermReference (object) or null

Payment terms for this vendor

Any of:

Enhanced reference to a payment term resource (returned in responses). Includes full payment term details in addition to id/key.

isMvmntboolean or null

Whether this vendor is MVMNT itself

Example: false
requiredDocumentsArray of strings or null

List of required document types

Example: ["W9","INSURANCE_CERTIFICATE"]
paymentMethodsArray of objects(VendorPaymentMethodReference)

Payment methods configured for this vendor

contactsArray of objects(VendorContactReference)

Contacts for this vendor

deletedByUserReference (object) or nullread-only

User who deleted this vendor (full user details)

Any of:

Enhanced reference to a user resource (returned in responses). Includes full user details in addition to id/key.

Note: Does NOT include nested references (teams, etc.) to prevent recursion. Maximum nesting depth: 1 level.

createdAtstring(date-time)read-onlyrequired

When the vendor was created

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

When the vendor was last updated

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

When the vendor was soft deleted (null if active)

Example: null
Response
application/json
{ "object": "VENDOR", "id": "550e8400-e29b-41d4-a716-446655440000", "friendlyId": "V123456", "name": "ABC Warehouse Services", "key": "ERP-VENDOR-ABC-001", "email": "billing@abcwarehouse.com", "phone": "+1-555-123-4567", "status": "ACTIVE", "notes": "Preferred vendor for warehouse services", "taxId": "12-3456789", "currency": "ARS", "corporateAddress": { "line1": "123 Main St", "line2": "Suite 400", "city": "Chicago", "state": "IL", "zipCode": "60601", "country": "USA", "market": "CHI", "latitude": "41.8781", "longitude": "-87.6298", "isAirportOrAirbase": false, "isConstructionOrUtilitySite": false, "isSmartyValidated": true, "obeysDst": true, "cityId": null }, "billingAddress": { "line1": "123 Main St", "line2": "Suite 400", "city": "Chicago", "state": "IL", "zipCode": "60601", "country": "USA", "market": "CHI", "latitude": "41.8781", "longitude": "-87.6298", "isAirportOrAirbase": false, "isConstructionOrUtilitySite": false, "isSmartyValidated": true, "obeysDst": true, "cityId": null }, "paymentTerm": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-PAYTERM-NET30", "name": "Net 30", "description": "Payment due 30 days from invoice date", "days": 30, "quickPayFee": 0.05, "apOnly": false, "doNotUse": false, "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }, "isMvmnt": false, "requiredDocuments": [ "W9", "INSURANCE_CERTIFICATE" ], "paymentMethods": [ {} ], "contacts": [ {} ], "deletedBy": { "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 }, "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }

Update a vendor

Request

Partially update a vendor. Only provided fields will be updated.

  • Omitted fields: Not modified (current value preserved)
  • Provided fields: Updated to the new value
  • Null values: Clear the field (set to null) where applicable
Security
BearerAuth
Path
idstringrequired

Resource ID (UUID) or client key

Example: 550e8400-e29b-41d4-a716-446655440000
Bodyapplication/jsonrequired
namestring

Vendor legal name

Example: "ABC Warehouse Services"
keystring or null<= 512 characters

Client-defined reference identifier

Example: "ERP-VENDOR-ABC-001"
emailstring or null(email)

Primary email address

Example: "billing@abcwarehouse.com"
phonestring or null

Primary phone number

Example: "+1-555-123-4567"
statusstring or null

Vendor status

Example: "ACTIVE"
notesstring or null

Internal notes about the vendor

Example: "Preferred vendor for warehouse services"
taxIdstring or null

Tax identification number

Example: "12-3456789"
currencyvendors_Currency (string) or null

Preferred currency for transactions

Any of:

Currency code

string(vendors_Currency)
Enum"ARS""AUD""BRL""CAD""CNY""EUR""GBP""IDR""INR""JPY"
corporateAddressAddressInput (object) or null

Corporate headquarters address

Any of:

Address data for creating a new location

billingAddressAddressInput (object) or null

Billing address for invoices

Any of:

Address data for creating a new location

paymentTermIdstring or null(uuid)

Payment term ID

Example: "550e8400-e29b-41d4-a716-446655440001"
isMvmntboolean or null

Whether this vendor is MVMNT itself

Example: false
requiredDocumentsArray of strings or null

List of required document types

Example: ["W9","INSURANCE_CERTIFICATE"]
curl -i -X PATCH \
  https://api.mvmnt.io/v1/vendors/550e8400-e29b-41d4-a716-446655440000 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "email": "newemail@abcwarehouse.com",
    "phone": "+1-555-999-8888"
  }'

Responses

Vendor updated successfully

Bodyapplication/json
objectstringread-only

Object type identifier

Value"VENDOR"
Example: "VENDOR"
idstring(uuid)read-onlyrequired

Unique vendor identifier

Example: "550e8400-e29b-41d4-a716-446655440000"
friendlyIdstringread-onlyrequired

Human-readable vendor identifier

Example: "V123456"
namestringrequired

Vendor legal name

Example: "ABC Warehouse Services"
keystring or null<= 512 characters

Client-defined reference identifier

Example: "ERP-VENDOR-ABC-001"
emailstring or null(email)

Primary email address

Example: "billing@abcwarehouse.com"
phonestring or null

Primary phone number

Example: "+1-555-123-4567"
statusstring or null

Vendor status

Example: "ACTIVE"
notesstring or null

Internal notes about the vendor

Example: "Preferred vendor for warehouse services"
taxIdstring or null

Tax identification number

Example: "12-3456789"
currencyvendors_Currency (string) or null

Preferred currency for transactions

Any of:

Currency code

string(vendors_Currency)
Enum"ARS""AUD""BRL""CAD""CNY""EUR""GBP""IDR""INR""JPY"
corporateAddressAddress (object) or null

Corporate headquarters address

Any of:

Physical address/location details (nested, without id).

This is an embedded object representing a Location record. The id is managed internally and not exposed in the API.

billingAddressAddress (object) or null

Billing address for invoices

Any of:

Physical address/location details (nested, without id).

This is an embedded object representing a Location record. The id is managed internally and not exposed in the API.

paymentTermPaymentTermReference (object) or null

Payment terms for this vendor

Any of:

Enhanced reference to a payment term resource (returned in responses). Includes full payment term details in addition to id/key.

isMvmntboolean or null

Whether this vendor is MVMNT itself

Example: false
requiredDocumentsArray of strings or null

List of required document types

Example: ["W9","INSURANCE_CERTIFICATE"]
paymentMethodsArray of objects(VendorPaymentMethodReference)

Payment methods configured for this vendor

contactsArray of objects(VendorContactReference)

Contacts for this vendor

deletedByUserReference (object) or nullread-only

User who deleted this vendor (full user details)

Any of:

Enhanced reference to a user resource (returned in responses). Includes full user details in addition to id/key.

Note: Does NOT include nested references (teams, etc.) to prevent recursion. Maximum nesting depth: 1 level.

createdAtstring(date-time)read-onlyrequired

When the vendor was created

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

When the vendor was last updated

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

When the vendor was soft deleted (null if active)

Example: null
Response
application/json
{ "object": "VENDOR", "id": "550e8400-e29b-41d4-a716-446655440000", "friendlyId": "V123456", "name": "ABC Warehouse Services", "key": "ERP-VENDOR-ABC-001", "email": "billing@abcwarehouse.com", "phone": "+1-555-123-4567", "status": "ACTIVE", "notes": "Preferred vendor for warehouse services", "taxId": "12-3456789", "currency": "ARS", "corporateAddress": { "line1": "123 Main St", "line2": "Suite 400", "city": "Chicago", "state": "IL", "zipCode": "60601", "country": "USA", "market": "CHI", "latitude": "41.8781", "longitude": "-87.6298", "isAirportOrAirbase": false, "isConstructionOrUtilitySite": false, "isSmartyValidated": true, "obeysDst": true, "cityId": null }, "billingAddress": { "line1": "123 Main St", "line2": "Suite 400", "city": "Chicago", "state": "IL", "zipCode": "60601", "country": "USA", "market": "CHI", "latitude": "41.8781", "longitude": "-87.6298", "isAirportOrAirbase": false, "isConstructionOrUtilitySite": false, "isSmartyValidated": true, "obeysDst": true, "cityId": null }, "paymentTerm": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-PAYTERM-NET30", "name": "Net 30", "description": "Payment due 30 days from invoice date", "days": 30, "quickPayFee": 0.05, "apOnly": false, "doNotUse": false, "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }, "isMvmnt": false, "requiredDocuments": [ "W9", "INSURANCE_CERTIFICATE" ], "paymentMethods": [ {} ], "contacts": [ {} ], "deletedBy": { "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 }, "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }

Delete a vendor

Request

Soft delete a vendor (sets deletedAt timestamp).

The vendor will no longer appear in default queries but can be retrieved by explicitly filtering for deleted records.

Security
BearerAuth
Path
idstringrequired

Resource ID (UUID) or client key

Example: 550e8400-e29b-41d4-a716-446655440000
curl -i -X DELETE \
  https://api.mvmnt.io/v1/vendors/550e8400-e29b-41d4-a716-446655440000 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Vendor deleted successfully

Response
No content

Search vendors

Request

Search vendors using OpenSearch-powered full-text and field-specific search.

This endpoint provides fast, indexed search across vendor data with support for:

  • Full-text search across multiple fields
  • Field-specific filtering with various operators
  • Sorting and pagination
  • Saved search preferences

Note: Only active (non-deleted) vendors are searchable. Soft-deleted records are automatically excluded from all search results.

Response Formats:

  • flat (default): Returns indexed fields only for faster performance
  • full: Returns complete vendor objects with all relationships
Security
BearerAuth
Bodyapplication/jsonrequired
criteriaobject(VendorSearchCriteria)

Search criteria to filter vendors

paginationobject(SearchPaginationInput)

Pagination options for search requests

sortArray of objects(SearchSortOption)<= 3 items

Sort options for the search results

Example: [{"field":"createdAt","order":"desc"}]
savedSearchobject(SavedSearchLookup)

Optional saved search to load preferences from. When provided, the saved search criteria will be loaded and merged with any explicit criteria.

formatstring

Response format:

  • flat: Returns only indexed fields (default, faster)
  • full: Returns complete vendor objects
Default "flat"
Enum"flat""full"
curl -i -X POST \
  https://api.mvmnt.io/v1/vendors/search \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "criteria": {
      "id": {
        "operator": "EQUALS",
        "values": [
          "550e8400-e29b-41d4-a716-446655440000"
        ]
      },
      "friendlyId": {
        "operator": "ONE_OF",
        "values": [
          "ACTIVE",
          "PENDING"
        ]
      },
      "name": {
        "operator": "INCLUDES",
        "values": [
          "search term"
        ]
      },
      "status": {
        "operator": "ONE_OF",
        "values": [
          "ACTIVE",
          "PENDING"
        ]
      },
      "service": {
        "operator": "ONE_OF",
        "values": [
          "ACTIVE",
          "PENDING"
        ]
      },
      "taxId": {
        "operator": "INCLUDES",
        "values": [
          "search term"
        ]
      },
      "location": {
        "operator": "INCLUDES",
        "values": [
          "search term"
        ]
      },
      "city": {
        "operator": "INCLUDES",
        "values": [
          "search term"
        ]
      },
      "state": {
        "operator": "ONE_OF",
        "values": [
          "ACTIVE",
          "PENDING"
        ]
      },
      "zip": {
        "operator": "ONE_OF",
        "values": [
          "ACTIVE",
          "PENDING"
        ]
      },
      "country": {
        "operator": "ONE_OF",
        "values": [
          "ACTIVE",
          "PENDING"
        ]
      },
      "primaryContactName": {
        "operator": "INCLUDES",
        "values": [
          "search term"
        ]
      },
      "primaryContactEmail": {
        "operator": "INCLUDES",
        "values": [
          "search term"
        ]
      },
      "primaryContactPhone": {
        "operator": "INCLUDES",
        "values": [
          "search term"
        ]
      },
      "paymentTermName": {
        "operator": "ONE_OF",
        "values": [
          "ACTIVE",
          "PENDING"
        ]
      },
      "quickbooksVendorId": {
        "operator": "ONE_OF",
        "values": [
          "ACTIVE",
          "PENDING"
        ]
      },
      "numberOfTimesUsed": {
        "operator": "BETWEEN",
        "min": 10,
        "max": 100
      },
      "lastUsed": {
        "operator": "BETWEEN",
        "min": "2025-01-01",
        "max": "2025-01-31"
      },
      "createdAt": {
        "operator": "AFTER",
        "value": "2025-01-01T00:00:00Z"
      }
    },
    "pagination": {
      "pageNumber": 1,
      "pageSize": 50
    },
    "sort": [
      {
        "field": "createdAt",
        "order": "desc"
      }
    ],
    "savedSearch": {
      "id": "550e8400-e29b-41d4-a716-446655440000"
    },
    "format": "flat"
  }'

Responses

Successful search results

Bodyapplication/json
dataArray of objectsrequired

Search results - either flat rows or full vendor objects based on format parameter

objectstringrequired

Object type identifier for discriminating between flat and full response formats

Value"VENDOR_SEARCH_ROW"
Discriminator
idstring(uuid)required
friendlyIdstringrequired

Vendor ID

namestringrequired
statusstring or null
Enum"active""inactive""do_not_use"
taxIdstring or null

EIN or other tax ID

serviceArray of strings

Services provided

locationstring or null

Computed as "city, state"

citystring or null
statestring or null
zipstring or null

Postal code

countrystring or null
primaryContactNamestring or null
primaryContactEmailstring or null(email)
primaryContactPhonestring or null
paymentTermNamestring or null
quickbooksVendorIdstring or null

QuickBooks Online vendor ID

numberOfTimesUsedintegerrequired

Number of times used

lastUsedstring or null(date)

Last date used

createdAtstring(date-time)required
paginationobject(SearchPaginationInfo)required

Pagination information for search results

pageNumberintegerrequired

Current page number

Example: 1
pageSizeintegerrequired

Number of results returned on this page

Example: 50
totalPagesintegerrequired

Total number of pages available

Example: 25
totalResultsinteger>= 0required

Total number of matching results (excluding soft-deleted records)

Response
application/json
{ "data": [ {} ], "pagination": { "pageNumber": 1, "pageSize": 50, "totalPages": 25 }, "totalResults": 0 }

Get vendor outstanding bills

Request

List outstanding (unpaid) bills for a vendor.

Returns bills with status APPROVED_TO_PAY.

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://api.mvmnt.io/v1/vendors/550e8400-e29b-41d4-a716-446655440000/outstanding-bills?by=key' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Outstanding bills retrieved

Bodyapplication/json
billsArray of objectsrequired
idstring(uuid)
friendlyIdstring
entityTypestring(BillEntityType)

Type of entity the bill is for.

  • CARRIER: Bill for a carrier (LoadCarrier)
  • VENDOR: Bill for a vendor service (VendedService)
Enum"CARRIER""VENDOR"
carrierobject(CarrierReference)

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.

vendorobject(VendorReference)

Enhanced reference to a vendor profile. Includes full vendor details in addition to id/key.

amountnumber
invoiceDatestring or null(date)
dueDatestring or null(date)
openBalancenumber
isOverdueboolean
totalOutstandingnumberrequired

Total outstanding balance

Response
application/json
{ "bills": [ {} ], "totalOutstanding": 0 }

Get vendor bills available for payment

Request

List bills available for payment from a vendor.

Returns bills with status APPROVED_TO_PAY and open balance.

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://api.mvmnt.io/v1/vendors/550e8400-e29b-41d4-a716-446655440000/bills-for-payment?by=key' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Bills for payment retrieved

Bodyapplication/json
billsArray of objects(OutstandingBill)required
idstring(uuid)
friendlyIdstring
entityTypestring(BillEntityType)

Type of entity the bill is for.

  • CARRIER: Bill for a carrier (LoadCarrier)
  • VENDOR: Bill for a vendor service (VendedService)
Enum"CARRIER""VENDOR"
carrierobject(CarrierReference)

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.

vendorobject(VendorReference)

Enhanced reference to a vendor profile. Includes full vendor details in addition to id/key.

invoiceDatestring or null(date)
dueDatestring or null(date)
amountnumber
amountPaidnumber
openBalancenumber
isOverdueboolean
shipmentIdstring or null(uuid)
shipmentFriendlyIdstring or null
totalOutstandingnumberrequired

Total outstanding balance

carrierobject(CarrierReference)

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.

vendorobject(VendorReference)

Enhanced reference to a vendor profile. Includes full vendor details in addition to id/key.

carrierFactorobject(bill-payments_CarrierFactorReference)
Response
application/json
{ "bills": [ {} ], "totalOutstanding": 0, "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" } }

Vendor Contacts

Vendor contact management operations

Operations

Vendor Payment Methods

Vendor payment method management operations

Operations

Event Notifications

Webhooks