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

Filter companies

Request

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

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

Security
BearerAuth
Bodyapplication/jsonrequired
filterobject(CompanyFilter)
Example: {"and":[{"invoiceOnly":{"equalTo":false}},{"name":{"includes":"Inc"}}]}
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/companies/filter \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "filter": {
      "and": [
        {
          "invoiceOnly": {
            "equalTo": false
          }
        },
        {
          "name": {
            "includes": "Inc"
          }
        }
      ]
    },
    "pageSize": 50
  }'

Responses

Filtered companies with pagination

Bodyapplication/json
dataArray of objects(Company)required
data[].​objectstringread-only

Object type identifier

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

Unique company identifier

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

Company legal name

Example: "Acme Logistics Inc"
data[].​addressLine1string or null

Primary street address

Example: "123 Main St"
data[].​addressLine2string or null

Secondary address line (suite, floor, etc.)

Example: "Suite 400"
data[].​citystring or null

City name

Example: "Chicago"
data[].​countrystring or null

Country code or name

Example: "USA"
data[].​faxstring or null

Fax number

Example: "+1-555-0123"
data[].​invoiceOnlyboolean or null

Whether this company is used only for invoicing purposes

Example: false
data[].​invoiceVerbiagestring or null

Custom text to include on invoices for this company

Example: "Please remit payment within 30 days"
data[].​primaryContactNamestring or null

Name of primary contact person

Example: "John Smith"
data[].​primaryContactEmailstring or null(email)

Email address of primary contact

Example: "john.smith@acmelogistics.com"
data[].​primaryContactPhonestring or null

Phone number of primary contact

Example: "+1-555-0100"
data[].​createdByUserReference (object) or nullread-only
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.

object UserReference Recursive
data[].​keystring or null<= 512 characters

Client-defined reference identifier

Example: "ERP-COMPANY-ACME-001"
data[].​createdAtstring(date-time)read-onlyrequired

When the company was created

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

When the company was last updated

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

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

Request

Create a new company within an organization

Security
BearerAuth
Bodyapplication/jsonrequired
namestringrequired

Company legal name

Example: "Acme Logistics Inc"
addressLine1string

Primary street address

Example: "123 Main St"
addressLine2string

Secondary address line (suite, floor, etc.)

Example: "Suite 400"
citystring

City name

Example: "Chicago"
countrystring

Country code or name

Example: "USA"
faxstring

Fax number

Example: "+1-555-0123"
invoiceOnlyboolean

Whether this company is used only for invoicing purposes

Example: false
invoiceVerbiagestring

Custom text to include on invoices for this company

Example: "Please remit payment within 30 days"
primaryContactNamestring

Name of primary contact person

Example: "John Smith"
primaryContactEmailstring(email)

Email address of primary contact

Example: "john.smith@acmelogistics.com"
primaryContactPhonestring

Phone number of primary contact

Example: "+1-555-0100"
keystring<= 512 characters

Client-defined reference identifier

Example: "ERP-COMPANY-ACME-001"
curl -i -X POST \
  https://docs.mvmnt.io/_mock/apis/openapi/companies \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Acme Logistics Inc",
    "addressLine1": "123 Main St",
    "addressLine2": "Suite 400",
    "city": "Chicago",
    "country": "USA",
    "fax": "+1-555-0123",
    "invoiceOnly": false,
    "invoiceVerbiage": "Please remit payment within 30 days",
    "primaryContactName": "John Smith",
    "primaryContactEmail": "john.smith@acmelogistics.com",
    "primaryContactPhone": "+1-555-0100",
    "key": "ERP-COMPANY-ACME-001"
  }'

Responses

Company created successfully

Bodyapplication/json
objectstringread-only

Object type identifier

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

Unique company identifier

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

Company legal name

Example: "Acme Logistics Inc"
addressLine1string or null

Primary street address

Example: "123 Main St"
addressLine2string or null

Secondary address line (suite, floor, etc.)

Example: "Suite 400"
citystring or null

City name

Example: "Chicago"
countrystring or null

Country code or name

Example: "USA"
faxstring or null

Fax number

Example: "+1-555-0123"
invoiceOnlyboolean or null

Whether this company is used only for invoicing purposes

Example: false
invoiceVerbiagestring or null

Custom text to include on invoices for this company

Example: "Please remit payment within 30 days"
primaryContactNamestring or null

Name of primary contact person

Example: "John Smith"
primaryContactEmailstring or null(email)

Email address of primary contact

Example: "john.smith@acmelogistics.com"
primaryContactPhonestring or null

Phone number of primary contact

Example: "+1-555-0100"
createdByUserReference (object) or nullread-only
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.

object UserReference Recursive
keystring or null<= 512 characters

Client-defined reference identifier

Example: "ERP-COMPANY-ACME-001"
createdAtstring(date-time)read-onlyrequired

When the company was created

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

When the company was last updated

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

When the company was soft deleted (null if active)

Example: null
Response
application/json
{ "object": "COMPANY", "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Acme Logistics Inc", "addressLine1": "123 Main St", "addressLine2": "Suite 400", "city": "Chicago", "country": "USA", "fax": "+1-555-0123", "invoiceOnly": false, "invoiceVerbiage": "Please remit payment within 30 days", "primaryContactName": "John Smith", "primaryContactEmail": "john.smith@acmelogistics.com", "primaryContactPhone": "+1-555-0100", "createdBy": { "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 }, "key": "ERP-COMPANY-ACME-001", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }

Get a company by ID

Request

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

Responses

Company found

Bodyapplication/json
objectstringread-only

Object type identifier

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

Unique company identifier

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

Company legal name

Example: "Acme Logistics Inc"
addressLine1string or null

Primary street address

Example: "123 Main St"
addressLine2string or null

Secondary address line (suite, floor, etc.)

Example: "Suite 400"
citystring or null

City name

Example: "Chicago"
countrystring or null

Country code or name

Example: "USA"
faxstring or null

Fax number

Example: "+1-555-0123"
invoiceOnlyboolean or null

Whether this company is used only for invoicing purposes

Example: false
invoiceVerbiagestring or null

Custom text to include on invoices for this company

Example: "Please remit payment within 30 days"
primaryContactNamestring or null

Name of primary contact person

Example: "John Smith"
primaryContactEmailstring or null(email)

Email address of primary contact

Example: "john.smith@acmelogistics.com"
primaryContactPhonestring or null

Phone number of primary contact

Example: "+1-555-0100"
createdByUserReference (object) or nullread-only
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.

object UserReference Recursive
keystring or null<= 512 characters

Client-defined reference identifier

Example: "ERP-COMPANY-ACME-001"
createdAtstring(date-time)read-onlyrequired

When the company was created

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

When the company was last updated

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

When the company was soft deleted (null if active)

Example: null
Response
application/json
{ "object": "COMPANY", "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Acme Logistics Inc", "addressLine1": "123 Main St", "addressLine2": "Suite 400", "city": "Chicago", "country": "USA", "fax": "+1-555-0123", "invoiceOnly": false, "invoiceVerbiage": "Please remit payment within 30 days", "primaryContactName": "John Smith", "primaryContactEmail": "john.smith@acmelogistics.com", "primaryContactPhone": "+1-555-0100", "createdBy": { "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 }, "key": "ERP-COMPANY-ACME-001", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }

Update a company

Request

Partially update a company. 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

Company legal name

Example: "Acme Logistics Inc"
addressLine1string or null

Primary street address

Example: "123 Main St"
addressLine2string or null

Secondary address line

Example: "Suite 400"
citystring or null

City name

Example: "Chicago"
countrystring or null

Country code or name

Example: "USA"
faxstring or null

Fax number

Example: "+1-555-0123"
invoiceOnlyboolean or null

Whether this company is used only for invoicing purposes

Example: false
invoiceVerbiagestring or null

Custom text to include on invoices

Example: "Please remit payment within 30 days"
primaryContactNamestring or null

Name of primary contact person

Example: "John Smith"
primaryContactEmailstring or null(email)

Email address of primary contact

Example: "john.smith@acmelogistics.com"
primaryContactPhonestring or null

Phone number of primary contact

Example: "+1-555-0100"
keystring or null<= 512 characters

Client-defined reference identifier

Example: "ERP-COMPANY-ACME-001"
curl -i -X PATCH \
  https://docs.mvmnt.io/_mock/apis/openapi/companies/550e8400-e29b-41d4-a716-446655440000 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Acme Logistics Inc",
    "addressLine1": "123 Main St",
    "addressLine2": "Suite 400",
    "city": "Chicago",
    "country": "USA",
    "fax": "+1-555-0123",
    "invoiceOnly": false,
    "invoiceVerbiage": "Please remit payment within 30 days",
    "primaryContactName": "John Smith",
    "primaryContactEmail": "john.smith@acmelogistics.com",
    "primaryContactPhone": "+1-555-0100",
    "key": "ERP-COMPANY-ACME-001"
  }'

Responses

Company updated successfully

Bodyapplication/json
objectstringread-only

Object type identifier

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

Unique company identifier

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

Company legal name

Example: "Acme Logistics Inc"
addressLine1string or null

Primary street address

Example: "123 Main St"
addressLine2string or null

Secondary address line (suite, floor, etc.)

Example: "Suite 400"
citystring or null

City name

Example: "Chicago"
countrystring or null

Country code or name

Example: "USA"
faxstring or null

Fax number

Example: "+1-555-0123"
invoiceOnlyboolean or null

Whether this company is used only for invoicing purposes

Example: false
invoiceVerbiagestring or null

Custom text to include on invoices for this company

Example: "Please remit payment within 30 days"
primaryContactNamestring or null

Name of primary contact person

Example: "John Smith"
primaryContactEmailstring or null(email)

Email address of primary contact

Example: "john.smith@acmelogistics.com"
primaryContactPhonestring or null

Phone number of primary contact

Example: "+1-555-0100"
createdByUserReference (object) or nullread-only
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.

object UserReference Recursive
keystring or null<= 512 characters

Client-defined reference identifier

Example: "ERP-COMPANY-ACME-001"
createdAtstring(date-time)read-onlyrequired

When the company was created

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

When the company was last updated

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

When the company was soft deleted (null if active)

Example: null
Response
application/json
{ "object": "COMPANY", "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Acme Logistics Inc", "addressLine1": "123 Main St", "addressLine2": "Suite 400", "city": "Chicago", "country": "USA", "fax": "+1-555-0123", "invoiceOnly": false, "invoiceVerbiage": "Please remit payment within 30 days", "primaryContactName": "John Smith", "primaryContactEmail": "john.smith@acmelogistics.com", "primaryContactPhone": "+1-555-0100", "createdBy": { "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 }, "key": "ERP-COMPANY-ACME-001", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }

Delete a company

Request

Soft delete a company (sets deletedAt timestamp).

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

Responses

Company deleted successfully

Response
No content

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

Teams

Operations

Users

Operations

Vendors

Operations

Vendor Contacts

Operations

Vendor Payment Methods

Operations

Saved Searches

Operations

Event Notifications

Webhooks