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

Vendor Contacts

Vendor contact management operations

Operations

Filter vendor contacts

Request

Query vendor contacts using flexible filter criteria with AND/OR logic.

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

Security
BearerAuth
Bodyapplication/jsonrequired
filterobject(VendorContactFilter)

Filter criteria (optional - omit to return all vendor contacts).

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

Example: {"and":[{"roles":{"includes":"BILLING"}},{"vendorId":{"equalTo":"550e8400-e29b-41d4-a716-446655440001"}}]}
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/vendor-contacts/filter \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "filter": {
      "and": [
        {
          "roles": {
            "includes": "BILLING"
          }
        },
        {
          "vendorId": {
            "equalTo": "550e8400-e29b-41d4-a716-446655440001"
          }
        }
      ]
    },
    "pageSize": 50
  }'

Responses

Filtered vendor contacts with pagination

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

Object type identifier

Value"VENDOR_CONTACT"
Example: "VENDOR_CONTACT"
vendorobject(ResourceReference)required

Vendor this contact belongs to (id and key only)

idstring(uuid)required

Resource UUID

keystring or null

Client-defined reference ID if set

emailstring or null(email)

Contact email address

Example: "john.smith@abcwarehouse.com"
phonestring or null

Contact phone number

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

Contact role or title (deprecated - use roles array)

Example: "Billing Manager"
rolesArray of strings or null(VendorContactRole)

Types/roles this contact serves

Enum"AGENT""BILLING""OPERATION""OWNER"
Example: ["BILLING","AGENT"]
deletedByUserReference (object) or nullread-only

User who deleted this contact (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 contact was created

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

When the contact 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 contact

Request

Create a new contact for a vendor.

Contacts represent individuals at the vendor who can be reached for various purposes.

Security
BearerAuth
Bodyapplication/jsonrequired
vendorIdstring(uuid)required

Vendor this contact belongs to

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

Contact person's name (required)

Example: "John Smith"
emailstring(email)

Contact email address

Example: "john.smith@abcwarehouse.com"
phonestring

Contact phone number

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

Contact role or title (deprecated - use roles array)

Example: "Billing Manager"
rolesArray of strings(VendorContactRole)

Types/roles this contact serves

Items Enum"AGENT""BILLING""OPERATION""OWNER"
Example: ["BILLING","AGENT"]
curl -i -X POST \
  https://api.mvmnt.io/v1/vendor-contacts \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "vendorId": "550e8400-e29b-41d4-a716-446655440001",
    "name": "Dana Reyes",
    "email": "billing@abcwarehouse.com",
    "phone": "+1-555-123-4567",
    "roles": [
      "BILLING"
    ]
  }'

Responses

Vendor contact created successfully

Bodyapplication/json
objectstringread-only

Object type identifier

Value"VENDOR_CONTACT"
Example: "VENDOR_CONTACT"
vendorobject(ResourceReference)required

Vendor this contact belongs to (id and key only)

idstring(uuid)required

Resource UUID

keystring or null

Client-defined reference ID if set

emailstring or null(email)

Contact email address

Example: "john.smith@abcwarehouse.com"
phonestring or null

Contact phone number

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

Contact role or title (deprecated - use roles array)

Example: "Billing Manager"
rolesArray of strings or null(VendorContactRole)

Types/roles this contact serves

Enum"AGENT""BILLING""OPERATION""OWNER"
Example: ["BILLING","AGENT"]
deletedByUserReference (object) or nullread-only

User who deleted this contact (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 contact was created

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

When the contact was soft deleted (null if active)

Example: null
Response
application/json
{ "object": "VENDOR_CONTACT", "vendor": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-USER-12345" }, "email": "john.smith@abcwarehouse.com", "phone": "+1-555-123-4567", "role": "Billing Manager", "roles": [ "BILLING", "AGENT" ], "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", "deletedAt": null }

Get a vendor contact by ID

Request

Retrieve a single vendor contact 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/vendor-contacts/550e8400-e29b-41d4-a716-446655440000 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Vendor contact found

Bodyapplication/json
objectstringread-only

Object type identifier

Value"VENDOR_CONTACT"
Example: "VENDOR_CONTACT"
vendorobject(ResourceReference)required

Vendor this contact belongs to (id and key only)

idstring(uuid)required

Resource UUID

keystring or null

Client-defined reference ID if set

emailstring or null(email)

Contact email address

Example: "john.smith@abcwarehouse.com"
phonestring or null

Contact phone number

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

Contact role or title (deprecated - use roles array)

Example: "Billing Manager"
rolesArray of strings or null(VendorContactRole)

Types/roles this contact serves

Enum"AGENT""BILLING""OPERATION""OWNER"
Example: ["BILLING","AGENT"]
deletedByUserReference (object) or nullread-only

User who deleted this contact (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 contact was created

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

When the contact was soft deleted (null if active)

Example: null
Response
application/json
{ "object": "VENDOR_CONTACT", "vendor": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-USER-12345" }, "email": "john.smith@abcwarehouse.com", "phone": "+1-555-123-4567", "role": "Billing Manager", "roles": [ "BILLING", "AGENT" ], "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", "deletedAt": null }

Update a vendor contact

Request

Partially update a vendor contact. 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
emailstring or null(email)

Contact email address

Example: "john.smith@abcwarehouse.com"
phonestring or null

Contact phone number

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

Contact role or title (deprecated - use roles array)

Example: "Billing Manager"
rolesArray of strings or null(VendorContactRole)

Types/roles this contact serves (replaces entire array)

Enum"AGENT""BILLING""OPERATION""OWNER"
Example: ["BILLING","AGENT"]
curl -i -X PATCH \
  https://api.mvmnt.io/v1/vendor-contacts/550e8400-e29b-41d4-a716-446655440000 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "email": "newemail@abcwarehouse.com"
  }'

Responses

Vendor contact updated successfully

Bodyapplication/json
objectstringread-only

Object type identifier

Value"VENDOR_CONTACT"
Example: "VENDOR_CONTACT"
vendorobject(ResourceReference)required

Vendor this contact belongs to (id and key only)

idstring(uuid)required

Resource UUID

keystring or null

Client-defined reference ID if set

emailstring or null(email)

Contact email address

Example: "john.smith@abcwarehouse.com"
phonestring or null

Contact phone number

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

Contact role or title (deprecated - use roles array)

Example: "Billing Manager"
rolesArray of strings or null(VendorContactRole)

Types/roles this contact serves

Enum"AGENT""BILLING""OPERATION""OWNER"
Example: ["BILLING","AGENT"]
deletedByUserReference (object) or nullread-only

User who deleted this contact (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 contact was created

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

When the contact was soft deleted (null if active)

Example: null
Response
application/json
{ "object": "VENDOR_CONTACT", "vendor": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-USER-12345" }, "email": "john.smith@abcwarehouse.com", "phone": "+1-555-123-4567", "role": "Billing Manager", "roles": [ "BILLING", "AGENT" ], "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", "deletedAt": null }

Delete a vendor contact

Request

Soft delete a vendor contact (sets deletedAt timestamp).

The contact 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/vendor-contacts/550e8400-e29b-41d4-a716-446655440000 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Vendor contact deleted successfully

Response
No content

Vendor Payment Methods

Vendor payment method management operations

Operations

Event Notifications

Webhooks