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

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://docs.mvmnt.io/_mock/apis/openapi/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
data[].​objectstringread-only

Object type identifier

Value"VENDOR"
Example: "VENDOR"
data[].​idstring(uuid)read-onlyrequired

Unique vendor identifier

Example: "550e8400-e29b-41d4-a716-446655440000"
data[].​friendlyIdstringread-onlyrequired

Human-readable vendor identifier

Example: "V123456"
data[].​namestringrequired

Vendor legal name

Example: "ABC Warehouse Services"
data[].​keystring or null<= 512 characters

Client-defined reference identifier

Example: "ERP-VENDOR-ABC-001"
data[].​emailstring or null(email)

Primary email address

Example: "billing@abcwarehouse.com"
data[].​phonestring or null

Primary phone number

Example: "+1-555-123-4567"
data[].​statusstring or null

Vendor status

Example: "ACTIVE"
data[].​notesstring or null

Internal notes about the vendor

Example: "Preferred vendor for warehouse services"
data[].​taxIdstring or null

Tax identification number

Example: "12-3456789"
data[].​currencyvendors_Currency (string) or null

Preferred currency for transactions

Any of:

Currency code

string(vendors_Currency)
Enum"USD""CAD""MXN""EUR""GBP"
data[].​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.

data[].​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.

data[].​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.

data[].​isMvmntboolean or null

Whether this vendor is MVMNT itself

Example: false
data[].​requiredDocumentsArray of strings or null

List of required document types

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

Payment methods configured for this vendor

data[].​contactsArray of objects(VendorContactReference)

Contacts for this vendor

data[].​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.

data[].​createdAtstring(date-time)read-onlyrequired

When the vendor was created

Example: "2025-01-15T10:00:00Z"
data[].​updatedAtstring(date-time)read-onlyrequired

When the vendor was last updated

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

When the vendor was soft deleted (null if active)

Example: null
pageInfoobject(PaginationInfo)required
pageInfo.​pageSizeintegerrequired

Number of items per page

Example: 50
pageInfo.​hasNextPagebooleanrequired

Whether there are more pages

Example: true
pageInfo.​hasPreviousPageboolean

Whether there are previous pages

Example: false
pageInfo.​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"USD""CAD""MXN""EUR""GBP"
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://docs.mvmnt.io/_mock/apis/openapi/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"USD""CAD""MXN""EUR""GBP"
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": "USD", "corporateAddress": { "line1": "123 Main St", "line2": "Suite 400", "city": "Chicago", "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", "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://docs.mvmnt.io/_mock/apis/openapi/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"USD""CAD""MXN""EUR""GBP"
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": "USD", "corporateAddress": { "line1": "123 Main St", "line2": "Suite 400", "city": "Chicago", "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", "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"USD""CAD""MXN""EUR""GBP"
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://docs.mvmnt.io/_mock/apis/openapi/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"USD""CAD""MXN""EUR""GBP"
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": "USD", "corporateAddress": { "line1": "123 Main St", "line2": "Suite 400", "city": "Chicago", "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", "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://docs.mvmnt.io/_mock/apis/openapi/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://docs.mvmnt.io/_mock/apis/openapi/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

data[].​objectstringrequired

Object type identifier for discriminating between flat and full response formats

Value"VENDOR_SEARCH_ROW"
Discriminator
data[].​idstring(uuid)required
data[].​friendlyIdstringrequired

Vendor ID

data[].​namestringrequired
data[].​statusstring or null
Enum"active""inactive""do_not_use"
data[].​taxIdstring or null

EIN or other tax ID

data[].​serviceArray of strings

Services provided

data[].​locationstring or null

Computed as "city, state"

data[].​citystring or null
data[].​statestring or null
data[].​zipstring or null

Postal code

data[].​countrystring or null
data[].​primaryContactNamestring or null
data[].​primaryContactEmailstring or null(email)
data[].​primaryContactPhonestring or null
data[].​paymentTermNamestring or null
data[].​quickbooksVendorIdstring or null

QuickBooks Online vendor ID

data[].​numberOfTimesUsedintegerrequired

Number of times used

data[].​lastUsedstring or null(date)

Last date used

data[].​createdAtstring(date-time)required
paginationobject(SearchPaginationInfo)required

Pagination information for search results

pagination.​pageNumberintegerrequired

Current page number

Example: 1
pagination.​pageSizeintegerrequired

Number of results returned on this page

Example: 50
pagination.​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://docs.mvmnt.io/_mock/apis/openapi/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
bills[].​idstring(uuid)
bills[].​friendlyIdstring
bills[].​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"
bills[].​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.

bills[].​vendorobject(VendorReference)

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

bills[].​amountnumber
bills[].​invoiceDatestring or null(date)
bills[].​dueDatestring or null(date)
bills[].​openBalancenumber
bills[].​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://docs.mvmnt.io/_mock/apis/openapi/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
bills[].​idstring(uuid)
bills[].​friendlyIdstring
bills[].​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"
bills[].​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.

bills[].​vendorobject(VendorReference)

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

bills[].​invoiceDatestring or null(date)
bills[].​dueDatestring or null(date)
bills[].​amountnumber
bills[].​amountPaidnumber
bills[].​openBalancenumber
bills[].​isOverdueboolean
bills[].​shipmentIdstring or null(uuid)
bills[].​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