Skip to content

MVMNT API (1.0.0)

The MVMNT API enables you to automate freight brokerage workflows by integrating directly with our Transportation Management System.

Authentication

OAuth 2.0 client credentials flow. See Authentication Guide for details.

Token Endpoint

POST https://api.mvmnt.io/oauth2/token

Request

Headers:

Content-Type: application/x-www-form-urlencoded

Body Parameters:

grant_type=client_credentials
client_id=YOUR_CLIENT_ID
client_secret=YOUR_CLIENT_SECRET

Example Request

curl -X POST https://api.mvmnt.io/oauth2/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials" \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "client_secret=YOUR_CLIENT_SECRET"

Success Response

Status: 200 OK

{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 3600
}

Response Fields:

  • access_token: JWT Bearer token to use for API requests
  • token_type: Always Bearer
  • expires_in: Token lifetime in seconds (3600 = 1 hour)
Download OpenAPI description
Overview
Languages
Servers
Mock server
https://docs.mvmnt.io/_mock/apis/openapi/
Production
https://api.mvmnt.io/v1/

Companies

Operations

Carrier Contacts

Operations

Carriers

Operations

Carrier Factors

Operations

Carrier Payment Methods

Operations

Customer Contacts

Operations

Customers

Operations

Locations

Operations

Location Contacts

Operations

Filter location contacts

Request

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

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

Security
BearerAuth
Bodyapplication/jsonrequired
filterobject(LocationContactFilter)
Example: {"and":[{"locationId":{"equalTo":"770e8400-e29b-41d4-a716-446655440000"}},{"isPrimary":{"equalTo":true}}]}
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/location-contacts/filter \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "filter": {
      "and": [
        {
          "locationId": {
            "equalTo": "770e8400-e29b-41d4-a716-446655440000"
          }
        },
        {
          "isPrimary": {
            "equalTo": true
          }
        }
      ]
    },
    "pageSize": 50
  }'

Responses

Filtered location contacts with pagination

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

Object type identifier

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

Unique location contact identifier

Example: "880e8400-e29b-41d4-a716-446655440000"
data[].​locationIdstring(uuid)required

Location this contact is associated with

Example: "770e8400-e29b-41d4-a716-446655440000"
data[].​locationobject(Location)read-only
data[].​customerContactIdstring(uuid)required

Customer contact linked to this location

Example: "660e8400-e29b-41d4-a716-446655440000"
data[].​customerContactobject(CustomerContact)read-only
data[].​isPrimarybooleanrequired

Whether this is the primary contact for the location

Example: true
data[].​contactTypesArray of strings(LocationContactType)

Roles/types for this location contact

Items Enum"ACCOUNT_MANAGER""BILLING""DOCK_SHIPPING""EMERGENCY""LOCATION_MANAGER""OWNER""PROCUREMENT""PURCHASING""RATES_PRICING""RECEIVING"
Example: ["LOCATION_MANAGER","SHIPPING"]
data[].​keystring or null<= 512 characters

Client-defined reference identifier for this location contact

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

Timestamp when location contact was created

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

Timestamp when location contact was last updated

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

Timestamp when location contact 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 location contact

Request

Link a customer contact to a location with specific contact types/roles.

Location contacts represent the relationship between a customer contact and a specific location, defining what role the contact has at that location.

Security
BearerAuth
Bodyapplication/jsonrequired
locationIdstring(uuid)required

Location this contact is associated with (required)

Example: "770e8400-e29b-41d4-a716-446655440000"
customerContactIdstring(uuid)required

Customer contact to link to this location (required)

Example: "660e8400-e29b-41d4-a716-446655440000"
isPrimarybooleanrequired

Whether this is the primary contact for the location (required)

Example: true
contactTypesArray of strings(LocationContactType)

Roles/types for this location contact

Items Enum"ACCOUNT_MANAGER""BILLING""DOCK_SHIPPING""EMERGENCY""LOCATION_MANAGER""OWNER""PROCUREMENT""PURCHASING""RATES_PRICING""RECEIVING"
Example: ["LOCATION_MANAGER","SHIPPING"]
keystring<= 512 characters

Client-defined reference identifier

Example: "ERP-LOC-CONTACT-001"
curl -i -X POST \
  https://docs.mvmnt.io/_mock/apis/openapi/location-contacts \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "locationId": "770e8400-e29b-41d4-a716-446655440000",
    "customerContactId": "660e8400-e29b-41d4-a716-446655440000",
    "isPrimary": true,
    "contactTypes": [
      "LOCATION_MANAGER",
      "SHIPPING"
    ],
    "key": "ERP-LOC-CONTACT-001"
  }'

Responses

Location contact created successfully

Bodyapplication/json
objectstringread-only

Object type identifier

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

Unique location contact identifier

Example: "880e8400-e29b-41d4-a716-446655440000"
locationIdstring(uuid)required

Location this contact is associated with

Example: "770e8400-e29b-41d4-a716-446655440000"
locationobject(Location)read-only
customerContactIdstring(uuid)required

Customer contact linked to this location

Example: "660e8400-e29b-41d4-a716-446655440000"
customerContactobject(CustomerContact)read-only
isPrimarybooleanrequired

Whether this is the primary contact for the location

Example: true
contactTypesArray of strings(LocationContactType)

Roles/types for this location contact

Items Enum"ACCOUNT_MANAGER""BILLING""DOCK_SHIPPING""EMERGENCY""LOCATION_MANAGER""OWNER""PROCUREMENT""PURCHASING""RATES_PRICING""RECEIVING"
Example: ["LOCATION_MANAGER","SHIPPING"]
keystring or null<= 512 characters

Client-defined reference identifier for this location contact

Example: "ERP-LOC-CONTACT-001"
createdAtstring(date-time)read-onlyrequired

Timestamp when location contact was created

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

Timestamp when location contact was last updated

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

Timestamp when location contact was soft-deleted (null if active)

Example: null
Response
application/json
{ "object": "LOCATION_CONTACT", "id": "880e8400-e29b-41d4-a716-446655440000", "locationId": "770e8400-e29b-41d4-a716-446655440000", "location": { "object": "LOCATION", "id": "770e8400-e29b-41d4-a716-446655440000", "customerId": "550e8400-e29b-41d4-a716-446655440000", "customer": {}, "name": "ABC Warehouse - Dallas", "key": "ERP-LOC-DALLAS-01", "type": "SHIPPER", "isAppointmentRequired": true, "notes": "Call 24 hours ahead for appointment", "internalNotes": "Use dock door 5 for expedited shipments", "contacts": [], "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }, "customerContactId": "660e8400-e29b-41d4-a716-446655440000", "customerContact": { "object": "CUSTOMER_CONTACT", "id": "550e8400-e29b-41d4-a716-446655440000", "customer": {}, "name": "John Smith", "contactInfo": {}, "phoneExtension": "1234", "isPrimary": true, "contactTypes": [], "notifications": [], "invitedUser": {}, "deletedBy": {}, "key": "ERP-CONTACT-JOHN-001", "createdAt": "2025-01-15T10:00:00Z", "deletedAt": null }, "isPrimary": true, "contactTypes": [ "LOCATION_MANAGER", "SHIPPING" ], "key": "ERP-LOC-CONTACT-001", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }

Get a location contact by ID

Request

Retrieve a single location 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://docs.mvmnt.io/_mock/apis/openapi/location-contacts/550e8400-e29b-41d4-a716-446655440000 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Location contact found

Bodyapplication/json
objectstringread-only

Object type identifier

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

Unique location contact identifier

Example: "880e8400-e29b-41d4-a716-446655440000"
locationIdstring(uuid)required

Location this contact is associated with

Example: "770e8400-e29b-41d4-a716-446655440000"
locationobject(Location)read-only
customerContactIdstring(uuid)required

Customer contact linked to this location

Example: "660e8400-e29b-41d4-a716-446655440000"
customerContactobject(CustomerContact)read-only
isPrimarybooleanrequired

Whether this is the primary contact for the location

Example: true
contactTypesArray of strings(LocationContactType)

Roles/types for this location contact

Items Enum"ACCOUNT_MANAGER""BILLING""DOCK_SHIPPING""EMERGENCY""LOCATION_MANAGER""OWNER""PROCUREMENT""PURCHASING""RATES_PRICING""RECEIVING"
Example: ["LOCATION_MANAGER","SHIPPING"]
keystring or null<= 512 characters

Client-defined reference identifier for this location contact

Example: "ERP-LOC-CONTACT-001"
createdAtstring(date-time)read-onlyrequired

Timestamp when location contact was created

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

Timestamp when location contact was last updated

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

Timestamp when location contact was soft-deleted (null if active)

Example: null
Response
application/json
{ "object": "LOCATION_CONTACT", "id": "880e8400-e29b-41d4-a716-446655440000", "locationId": "770e8400-e29b-41d4-a716-446655440000", "location": { "object": "LOCATION", "id": "770e8400-e29b-41d4-a716-446655440000", "customerId": "550e8400-e29b-41d4-a716-446655440000", "customer": {}, "name": "ABC Warehouse - Dallas", "key": "ERP-LOC-DALLAS-01", "type": "SHIPPER", "isAppointmentRequired": true, "notes": "Call 24 hours ahead for appointment", "internalNotes": "Use dock door 5 for expedited shipments", "contacts": [], "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }, "customerContactId": "660e8400-e29b-41d4-a716-446655440000", "customerContact": { "object": "CUSTOMER_CONTACT", "id": "550e8400-e29b-41d4-a716-446655440000", "customer": {}, "name": "John Smith", "contactInfo": {}, "phoneExtension": "1234", "isPrimary": true, "contactTypes": [], "notifications": [], "invitedUser": {}, "deletedBy": {}, "key": "ERP-CONTACT-JOHN-001", "createdAt": "2025-01-15T10:00:00Z", "deletedAt": null }, "isPrimary": true, "contactTypes": [ "LOCATION_MANAGER", "SHIPPING" ], "key": "ERP-LOC-CONTACT-001", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }

Update a location contact

Request

Partially update a location 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
locationIdstring(uuid)

Location this contact is associated with

Example: "770e8400-e29b-41d4-a716-446655440000"
customerContactIdstring(uuid)

Customer contact linked to this location

Example: "660e8400-e29b-41d4-a716-446655440000"
isPrimaryboolean

Whether this is the primary contact for the location

Example: true
contactTypesArray of strings(LocationContactType)

Roles/types for this location contact

Items Enum"ACCOUNT_MANAGER""BILLING""DOCK_SHIPPING""EMERGENCY""LOCATION_MANAGER""OWNER""PROCUREMENT""PURCHASING""RATES_PRICING""RECEIVING"
Example: ["LOCATION_MANAGER","SHIPPING"]
keystring or null<= 512 characters

Client-defined reference identifier

Example: "ERP-LOC-CONTACT-001"
curl -i -X PATCH \
  https://docs.mvmnt.io/_mock/apis/openapi/location-contacts/550e8400-e29b-41d4-a716-446655440000 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "contactTypes": [
      "LOCATION_MANAGER",
      "SHIPPING",
      "RECEIVING"
    ]
  }'

Responses

Location contact updated successfully

Bodyapplication/json
objectstringread-only

Object type identifier

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

Unique location contact identifier

Example: "880e8400-e29b-41d4-a716-446655440000"
locationIdstring(uuid)required

Location this contact is associated with

Example: "770e8400-e29b-41d4-a716-446655440000"
locationobject(Location)read-only
customerContactIdstring(uuid)required

Customer contact linked to this location

Example: "660e8400-e29b-41d4-a716-446655440000"
customerContactobject(CustomerContact)read-only
isPrimarybooleanrequired

Whether this is the primary contact for the location

Example: true
contactTypesArray of strings(LocationContactType)

Roles/types for this location contact

Items Enum"ACCOUNT_MANAGER""BILLING""DOCK_SHIPPING""EMERGENCY""LOCATION_MANAGER""OWNER""PROCUREMENT""PURCHASING""RATES_PRICING""RECEIVING"
Example: ["LOCATION_MANAGER","SHIPPING"]
keystring or null<= 512 characters

Client-defined reference identifier for this location contact

Example: "ERP-LOC-CONTACT-001"
createdAtstring(date-time)read-onlyrequired

Timestamp when location contact was created

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

Timestamp when location contact was last updated

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

Timestamp when location contact was soft-deleted (null if active)

Example: null
Response
application/json
{ "object": "LOCATION_CONTACT", "id": "880e8400-e29b-41d4-a716-446655440000", "locationId": "770e8400-e29b-41d4-a716-446655440000", "location": { "object": "LOCATION", "id": "770e8400-e29b-41d4-a716-446655440000", "customerId": "550e8400-e29b-41d4-a716-446655440000", "customer": {}, "name": "ABC Warehouse - Dallas", "key": "ERP-LOC-DALLAS-01", "type": "SHIPPER", "isAppointmentRequired": true, "notes": "Call 24 hours ahead for appointment", "internalNotes": "Use dock door 5 for expedited shipments", "contacts": [], "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }, "customerContactId": "660e8400-e29b-41d4-a716-446655440000", "customerContact": { "object": "CUSTOMER_CONTACT", "id": "550e8400-e29b-41d4-a716-446655440000", "customer": {}, "name": "John Smith", "contactInfo": {}, "phoneExtension": "1234", "isPrimary": true, "contactTypes": [], "notifications": [], "invitedUser": {}, "deletedBy": {}, "key": "ERP-CONTACT-JOHN-001", "createdAt": "2025-01-15T10:00:00Z", "deletedAt": null }, "isPrimary": true, "contactTypes": [ "LOCATION_MANAGER", "SHIPPING" ], "key": "ERP-LOC-CONTACT-001", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }

Delete a location contact

Request

Soft delete a location contact (sets deletedAt timestamp).

The location 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://docs.mvmnt.io/_mock/apis/openapi/location-contacts/550e8400-e29b-41d4-a716-446655440000 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Location contact deleted successfully

Response
No content

Payment Terms

Operations

Teams

Operations

Users

Operations

Vendors

Operations

Vendor Contacts

Operations

Vendor Payment Methods

Operations

Saved Searches

Operations

Event Notifications

Webhooks