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

Payment Terms

Operations

Teams

Operations

Filter teams

Request

Filter teams using comprehensive query criteria with AND/OR logic and multiple operators. Supports complex filtering similar to GraphQL capabilities. Note: Soft-deleted teams are excluded by default (deletedAt defaults to { isNull: true }).

Security
BearerAuth
Bodyapplication/jsonrequired
filterobject(TeamFilter)
Example: {"name":{"includes":"Sales"}}
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/teams/filter \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "filter": {
      "name": {
        "includes": "Sales"
      }
    },
    "pageSize": 50
  }'

Responses

Successful response

Bodyapplication/json
dataArray of objects(Team)
paginationobject(PaginationInfo)
Response
application/json
{ "data": [ {} ], "pagination": { "pageSize": 50, "hasNextPage": true, "hasPreviousPage": false, "endCursor": "eyJpZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCJ9" } }

Create team

Request

Create a new team in your organization

Security
BearerAuth
Bodyapplication/jsonrequired
namestringrequired

Team name (required)

Example: "Sales Team - West Coast"
keystring<= 512 characters

Client-defined reference identifier

Example: "ERP-TEAM-WEST"
usersArray of objects(ResourceReferenceInput)

Users to add to this team

Example: [{"id":"550e8400-e29b-41d4-a716-446655440000"},{"key":"ERP-USER-12345"}]
curl -i -X POST \
  https://docs.mvmnt.io/_mock/apis/openapi/teams \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Sales Team - West Coast",
    "key": "ERP-TEAM-WEST",
    "users": [
      {
        "id": "550e8400-e29b-41d4-a716-446655440000"
      },
      {
        "key": "ERP-USER-12345"
      }
    ]
  }'

Responses

Team created successfully

Bodyapplication/json
objectstringread-only

Object type identifier

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

Unique team identifier

Example: "123e4567-e89b-12d3-a456-426614174000"
namestringrequired

Team name

Example: "Sales Team - West Coast"
keystring or null<= 512 characters

Client-defined reference identifier for this team

Example: "ERP-TEAM-WEST"
usersArray of objects(users_UserReference)

Users who are members of this team

createdAtstring(date-time)read-onlyrequired

Timestamp when team was created

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

Timestamp when team was last updated

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

Timestamp when team was soft-deleted (null if active)

Example: null
Response
application/json
{ "object": "TEAM", "id": "123e4567-e89b-12d3-a456-426614174000", "name": "Sales Team - West Coast", "key": "ERP-TEAM-WEST", "users": [ {} ], "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }

Get team

Request

Retrieve a team by ID or client key

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/teams/550e8400-e29b-41d4-a716-446655440000?by=key' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Successful response

Bodyapplication/json
objectstringread-only

Object type identifier

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

Unique team identifier

Example: "123e4567-e89b-12d3-a456-426614174000"
namestringrequired

Team name

Example: "Sales Team - West Coast"
keystring or null<= 512 characters

Client-defined reference identifier for this team

Example: "ERP-TEAM-WEST"
usersArray of objects(users_UserReference)

Users who are members of this team

createdAtstring(date-time)read-onlyrequired

Timestamp when team was created

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

Timestamp when team was last updated

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

Timestamp when team was soft-deleted (null if active)

Example: null
Response
application/json
{ "object": "TEAM", "id": "123e4567-e89b-12d3-a456-426614174000", "name": "Sales Team - West Coast", "key": "ERP-TEAM-WEST", "users": [ {} ], "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }

Update team

Request

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

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
Bodyapplication/jsonrequired
namestring

Team name

Example: "Sales Team - West Coast"
keystring or null<= 512 characters

Client-defined reference identifier

Example: "ERP-TEAM-WEST"
usersArray of objects(ResourceReferenceInput)

Team members (replaces all existing memberships)

Example: [{"id":"550e8400-e29b-41d4-a716-446655440000"},{"key":"ERP-USER-12345"}]
curl -i -X PATCH \
  'https://docs.mvmnt.io/_mock/apis/openapi/teams/550e8400-e29b-41d4-a716-446655440000?by=key' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Sales Team - West Coast",
    "key": "ERP-TEAM-WEST",
    "users": [
      {
        "id": "550e8400-e29b-41d4-a716-446655440000"
      },
      {
        "key": "ERP-USER-12345"
      }
    ]
  }'

Responses

Team updated successfully

Bodyapplication/json
objectstringread-only

Object type identifier

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

Unique team identifier

Example: "123e4567-e89b-12d3-a456-426614174000"
namestringrequired

Team name

Example: "Sales Team - West Coast"
keystring or null<= 512 characters

Client-defined reference identifier for this team

Example: "ERP-TEAM-WEST"
usersArray of objects(users_UserReference)

Users who are members of this team

createdAtstring(date-time)read-onlyrequired

Timestamp when team was created

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

Timestamp when team was last updated

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

Timestamp when team was soft-deleted (null if active)

Example: null
Response
application/json
{ "object": "TEAM", "id": "123e4567-e89b-12d3-a456-426614174000", "name": "Sales Team - West Coast", "key": "ERP-TEAM-WEST", "users": [ {} ], "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }

Delete team

Request

Soft delete a team (sets deletedAt timestamp)

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 DELETE \
  'https://docs.mvmnt.io/_mock/apis/openapi/teams/550e8400-e29b-41d4-a716-446655440000?by=key' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Team deleted successfully

Response
No content

Users

Operations

Vendors

Operations

Vendor Contacts

Operations

Vendor Payment Methods

Operations

Saved Searches

Operations

Event Notifications

Webhooks