MVMNT Carrier Factors API
Carrier factor (factoring company) management operations
Carrier factor (factoring company) management operations
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/mvmnt-carrier-factors-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: MVMNT Carrier Factors API
version: 1.0.0
description: "The MVMNT API enables you to automate freight brokerage workflows by integrating\ndirectly with our Transportation Management System.\n\n## Authentication\n\nOAuth 2.0 client credentials flow. See [Authentication Guide](/getting-started/authentication)\nfor details.\n\n### Token Endpoint\n\n```\nPOST https://api.mvmnt.io/oauth2/token\n```\n\n#### Request\n\n**Headers:**\n```http\nContent-Type: application/x-www-form-urlencoded\n```\n\n**Body Parameters:**\n```\ngrant_type=client_credentials\nclient_id=YOUR_CLIENT_ID\nclient_secret=YOUR_CLIENT_SECRET\n```\n\n#### Example Request\n\n```bash\ncurl -X POST https://api.mvmnt.io/oauth2/token \\\n -H \"Content-Type: application/x-www-form-urlencoded\" \\\n -d \"grant_type=client_credentials\" \\\n -d \"client_id=YOUR_CLIENT_ID\" \\\n -d \"client_secret=YOUR_CLIENT_SECRET\"\n```\n\n#### Success Response\n\n**Status:** `200 OK`\n\n```json\n{\n \"access_token\": \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...\",\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600\n}\n```\n\n**Response Fields:**\n- `access_token`: JWT Bearer token to use for API requests\n- `token_type`: Always `Bearer`\n- `expires_in`: Token lifetime in seconds (3600 = 1 hour)\n"
contact:
name: MVMNT Support
email: support@mvmnt.io
url: https://docs.mvmnt.io
license:
name: Proprietary
url: https://mvmnt.io/legal/terms
x-parsed-md-description:
result:
- $$mdtype: Node
errors: []
lines:
- 0
- 2
inline: false
attributes: {}
children:
- $$mdtype: Node
errors: []
lines:
- 0
- 2
inline: false
attributes: {}
children:
- $$mdtype: Node
errors: []
lines:
- 0
- 2
inline: true
attributes:
content: The MVMNT API enables you to automate freight brokerage workflows by integrating
children: []
type: text
annotations: []
slots: {}
- $$mdtype: Node
errors: []
lines:
- 0
- 2
inline: true
attributes: {}
children: []
type: softbreak
annotations: []
slots: {}
- $$mdtype: Node
errors: []
lines:
- 0
- 2
inline: true
attributes:
content: directly with our Transportation Management System.
children: []
type: text
annotations: []
slots: {}
type: inline
annotations: []
slots: {}
type: paragraph
annotations: []
slots: {}
- $$mdtype: Node
errors: []
lines:
- 3
- 4
inline: false
attributes:
level: 2
children:
- $$mdtype: Node
errors: []
lines:
- 3
- 4
inline: false
attributes: {}
children:
- $$mdtype: Node
errors: []
lines:
- 3
- 4
inline: true
attributes:
content: Authentication
children: []
type: text
annotations: []
slots: {}
type: inline
annotations: []
slots: {}
type: heading
annotations: []
slots: {}
- $$mdtype: Node
errors: []
lines:
- 5
- 6
inline: false
attributes: {}
children:
- $$mdtype: Node
errors: []
lines:
- 5
- 6
inline: false
attributes: {}
children:
- $$mdtype: Node
errors: []
lines:
- 5
- 6
inline: true
attributes:
content: 'OAuth 2.0 client credentials flow. See '
children: []
type: text
annotations: []
slots: {}
- $$mdtype: Node
errors: []
lines:
- 5
- 6
inline: true
attributes:
href: /getting-started/authentication
children:
- $$mdtype: Node
errors: []
lines:
- 5
- 6
inline: true
attributes:
content: Authentication Guide
children: []
type: text
annotations: []
slots: {}
type: link
annotations: []
slots: {}
redocly:::linkOriginal:href: /getting-started/authentication
- $$mdtype: Node
errors: []
lines:
- 5
- 6
inline: true
attributes:
content: ' for details.'
children: []
type: text
annotations: []
slots: {}
type: inline
annotations: []
slots: {}
type: paragraph
annotations: []
slots: {}
servers:
- url: https://api.mvmnt.io/v1
description: Production
security:
- BearerAuth: []
tags:
- name: Carrier Factors
description: Carrier factor (factoring company) management operations
paths:
/carrier-factors/filter:
post:
tags:
- Carrier Factors
summary: Filter carrier factors
description: 'Query carrier factors (factoring companies) using flexible filter criteria with AND/OR logic.
By default, only non-deleted carrier factors are returned (deletedAt: { isNull: true }).
Override this by explicitly setting deletedAt filter criteria.
Carrier factors represent factoring companies that provide payment services for carriers.
'
operationId: filterCarrierFactors
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CarrierFactorFilterRequest'
responses:
'200':
description: Filtered carrier factors with pagination
content:
application/json:
schema:
type: object
required:
- data
- pageInfo
properties:
data:
type: array
items:
$ref: '#/components/schemas/CarrierFactor'
pageInfo:
$ref: '#/components/schemas/PaginationInfo'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'500':
$ref: '#/components/responses/InternalServerError'
/carrier-factors:
post:
tags:
- Carrier Factors
summary: Create carrier factor
description: 'Create a new carrier factor (factoring company).
Factoring companies provide payment services for carriers, allowing them to receive
immediate payment for invoices.
'
operationId: createCarrierFactor
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CarrierFactorInput'
examples:
basic:
summary: Basic carrier factor
value:
companyName: Capital Factoring Services Inc
email: accounting@capitalfactoring.com
phoneNumber: +1-555-234-5678
addressLine1: 789 Finance Ave
city: Dallas
state: TX
country: USA
zipCode: '75201'
withBanking:
summary: Carrier factor with banking details
value:
companyName: Capital Factoring Services Inc
email: accounting@capitalfactoring.com
phoneNumber: +1-555-234-5678
addressLine1: 789 Finance Ave
city: Dallas
state: TX
country: USA
zipCode: '75201'
bankName: Chase Bank
accountName: Capital Factoring Services Inc
accountNumber: '1234567890'
abaAch: '021000021'
swiftCode: CHASUS33
currency: USD
responses:
'201':
description: Carrier factor created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CarrierFactor'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'409':
$ref: '#/components/responses/ConflictError'
'500':
$ref: '#/components/responses/InternalServerError'
/carrier-factors/{id}:
get:
tags:
- Carrier Factors
summary: Get carrier factor
description: 'Retrieve a single carrier factor by its unique identifier.
Carrier factors represent factoring companies that provide payment services.
'
operationId: getCarrierFactorById
parameters:
- $ref: '#/components/parameters/IdOrClientKey'
responses:
'200':
description: Carrier factor found
content:
application/json:
schema:
$ref: '#/components/schemas/CarrierFactor'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/InternalServerError'
patch:
tags:
- Carrier Factors
summary: Update carrier factor
description: 'Partially update a carrier factor. 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
'
operationId: updateCarrierFactor
parameters:
- $ref: '#/components/parameters/IdOrClientKey'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CarrierFactorPatch'
examples:
updateContact:
summary: Update contact information
value:
email: newemail@capitalfactoring.com
phoneNumber: +1-555-999-8888
updateBanking:
summary: Update banking details
value:
bankName: Bank of America
accountNumber: '9876543210'
abaAch: 026009593
responses:
'200':
description: Carrier factor updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CarrierFactor'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'404':
$ref: '#/components/responses/NotFoundError'
'409':
$ref: '#/components/responses/ConflictError'
'500':
$ref: '#/components/responses/InternalServerError'
delete:
tags:
- Carrier Factors
summary: Delete carrier factor
description: 'Soft delete a carrier factor (sets deletedAt timestamp).
The carrier factor will no longer appear in default queries but can be retrieved
by explicitly filtering for deleted records.
'
operationId: deleteCarrierFactor
parameters:
- $ref: '#/components/parameters/IdOrClientKey'
responses:
'204':
description: Carrier factor deleted successfully
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/InternalServerError'
/carrier-factors/{id}/bills-for-payment:
get:
summary: Get bills payable to a carrier factor
description: 'List bills that should be paid to this carrier factor.
Returns bills from carriers that use this factor with status `APPROVED_TO_PAY`.
'
operationId: getCarrierFactorBillsForPayment
tags:
- Carrier Factors
parameters:
- $ref: '#/components/parameters/IdOrClientKey'
- $ref: '#/components/parameters/LookupBy'
responses:
'200':
description: Bills for payment retrieved
content:
application/json:
schema:
$ref: '#/components/schemas/OutstandingBillsForPaymentResponse'
'401':
$ref: '#/components/responses/UnauthorizedError'
'404':
$ref: '#/components/responses/NotFoundError'
components:
responses:
InternalServerError:
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: internal_server_error
message: An unexpected error occurred
NotFoundError:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: not_found
message: Resource not found
ConflictError:
description: Conflict - resource already exists or constraint violation
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: conflict
message: A resource with this identifier already exists
BadRequestError:
description: Bad request - invalid input
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: bad_request
message: Invalid request parameters
UnauthorizedError:
description: Unauthorized - invalid or missing access token
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: unauthorized
message: Invalid or expired access token
schemas:
BillEntityType:
type: string
enum:
- CARRIER
- VENDOR
description: 'Type of entity the bill is for.
- `CARRIER`: Bill for a carrier (LoadCarrier)
- `VENDOR`: Bill for a vendor service (VendedService)
'
PaymentTermReference:
type: object
description: 'Enhanced reference to a payment term resource (returned in responses).
Includes full payment term details in addition to id/key.
'
required:
- id
- name
- createdAt
- updatedAt
properties:
id:
type: string
format: uuid
description: Payment term UUID
example: 550e8400-e29b-41d4-a716-446655440000
key:
type:
- string
- 'null'
maxLength: 512
description: Client-defined reference ID if set
example: ERP-PAYTERM-NET30
name:
type: string
description: Payment term name
example: Net 30
description:
type:
- string
- 'null'
description: Payment term description or notes
example: Payment due 30 days from invoice date
days:
type:
- integer
- 'null'
description: Number of days until payment is due
example: 30
quickPayFee:
type:
- number
- 'null'
format: float
description: Quick pay fee percentage (e.g., 0.05 for 5%)
example: 0.05
x-parsed-md-description:
result:
- $$mdtype: Node
errors: []
lines:
- 0
- 1
inline: false
attributes: {}
children:
- $$mdtype: Node
errors: []
lines:
- 0
- 1
inline: false
attributes: {}
children:
- $$mdtype: Node
errors: []
lines:
- 0
- 1
inline: true
attributes:
content: Quick pay fee percentage (e.g., 0.05 for 5%)
children: []
type: text
annotations: []
slots: {}
type: inline
annotations: []
slots: {}
type: paragraph
annotations: []
slots: {}
apOnly:
type:
- boolean
- 'null'
description: Whether this payment term is for accounts payable only
example: false
doNotUse:
type:
- boolean
- 'null'
description: Flag to prevent using this payment term for new transactions
example: false
createdAt:
type: string
format: date-time
description: When the payment term was created
example: '2025-01-15T10:00:00Z'
updatedAt:
type: string
format: date-time
description: When the payment term was last updated
example: '2025-01-15T14:30:00Z'
deletedAt:
type:
- string
- 'null'
format: date-time
description: When the payment term was soft deleted (null if active)
example: null
UUIDFilter:
type: object
description: Filter options for UUID fields (all operations)
properties:
equalTo:
type: string
format: uuid
description: Exact match
notEqualTo:
type: string
format: uuid
description: Not equal to
in:
type: array
items:
type: string
format: uuid
description: Matches any UUID in the array
notIn:
type: array
items:
type: string
format: uuid
description: Does not match any UUID in the array
isNull:
type: boolean
description: Field is null (true) or not null (false)
CarrierReference:
type: object
description: '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.
'
required:
- id
- name
- createdAt
- updatedAt
properties:
id:
type: string
format: uuid
description: Carrier UUID
example: 550e8400-e29b-41d4-a716-446655440000
key:
type:
- string
- 'null'
maxLength: 512
description: Client-defined reference ID if set
example: ERP-CARRIER-SWIFT
name:
type: string
description: Carrier company name
example: Swift Transportation
phoneNumber:
type:
- string
- 'null'
description: Primary phone number
example: +1-555-987-6543
email:
type:
- string
- 'null'
format: email
description: Primary email address
example: dispatch@swifttrans.com
createdAt:
type: string
format: date-time
description: When the carrier was created
example: '2025-01-15T10:00:00Z'
updatedAt:
type: string
format: date-time
description: When the carrier was last updated
example: '2025-01-15T14:30:00Z'
deletedAt:
type:
- string
- 'null'
format: date-time
description: When the carrier was soft deleted (null if active)
example: null
DatetimeFilter:
type: object
description: Filter options for datetime fields
properties:
equalTo:
type: string
format: date-time
description: Exact match
notEqualTo:
type: string
format: date-time
description: Not equal to
lessThan:
type: string
format: date-time
description: Before this datetime
lessThanOrEqualTo:
type: string
format: date-time
description: On or before this datetime
greaterThan:
type: string
format: date-time
description: After this datetime
greaterThanOrEqualTo:
type: string
format: date-time
description: On or after this datetime
isNull:
type: boolean
description: Field is null (true) or not null (false)
VendorReference:
type: object
description: 'Enhanced reference to a vendor profile.
Includes full vendor details in addition to id/key.
'
required:
- id
- friendlyId
- name
- createdAt
- updatedAt
properties:
id:
type: string
format: uuid
description: Vendor UUID
example: 550e8400-e29b-41d4-a716-446655440000
key:
type:
- string
- 'null'
maxLength: 512
description: Client-defined reference ID if set
example: ERP-VENDOR-ABC-001
friendlyId:
type: string
description: Human-readable vendor identifier
example: V123456
name:
type: string
description: Vendor legal name
example: ABC Warehouse Services
email:
type:
- string
- 'null'
format: email
description: Primary email address
example: billing@abcwarehouse.com
phone:
type:
- string
- 'null'
description: Primary phone number
example: +1-555-123-4567
status:
type:
- string
- 'null'
description: Vendor status
example: ACTIVE
currency:
type:
- string
- 'null'
description: Preferred currency code (ISO 4217)
example: USD
createdAt:
type: string
format: date-time
description: When the vendor was created
example: '2025-01-15T10:00:00Z'
updatedAt:
type: string
format: date-time
description: When the vendor was last updated
example: '2025-01-15T14:30:00Z'
Error:
type: object
required:
- error
- message
properties:
error:
type: string
description: Error code
message:
type: string
description: Human-readable error message
CarrierFactorFilterRequest:
type: object
description: Request body for filtering carrier factors
properties:
filter:
$ref: '#/components/schemas/CarrierFactorFilter'
description: 'Filter criteria (optional - omit to return all carrier factors).
Note: deletedAt automatically defaults to { isNull: true } unless explicitly overridden.
'
pageSize:
type: integer
minimum: 1
maximum: 250
default: 50
description: Number of results per page
cursor:
type: string
description: Pagination cursor for next page
example:
filter:
and:
- companyName:
includes: Capital
- currency:
equalTo: USD
pageSize: 50
CarrierFactorPatch:
type: object
description: 'Partial carrier factor update. All fields are optional.
- **Omitted fields**: Not modified (current value preserved)
- **Provided fields**: Updated to the new value
- **Null values**: Clear the field (set to null) where applicable
'
properties:
companyName:
type: string
description: Factoring company legal name
example: Capital Factoring Services Inc
key:
type:
- string
- 'null'
maxLength: 512
description: Client-defined reference identifier
example: ERP-FACTOR-001
email:
type:
- string
- 'null'
format: email
description: Primary email address
example: accounting@capitalfactoring.com
phoneNumber:
type:
- string
- 'null'
description: Primary phone number
example: +1-555-234-5678
phoneExtension:
type:
- string
- 'null'
description: Primary phone extension
example: '123'
fax:
type:
- string
- 'null'
description: Fax number
example: +1-555-234-9999
addressLine1:
type:
- string
- 'null'
description: Primary street address
example: 789 Finance Ave
addressLine2:
type:
- string
- 'null'
description: Secondary address line
example: Suite 500
city:
type:
- string
- 'null'
description: City name
example: Dallas
state:
type:
- string
- 'null'
description: State or province
example: TX
country:
type:
- string
- 'null'
description: Country code or name
example: USA
zipCode:
type:
- string
- 'null'
description: Postal/ZIP code
example: '75201'
bankName:
type:
- string
- 'null'
description: Bank name
example: Chase Bank
bankAddress:
type:
- string
- 'null'
description: Bank address
example: 123 Bank Street, Dallas, TX 75201
accountName:
type:
- string
- 'null'
description: Bank account holder name
example: Capital Factoring Services Inc
accountNumber:
type:
- string
- 'null'
description: Bank account number
example: '1234567890'
abaAch:
type:
- string
- 'null'
description: ABA/ACH routing number
example: '021000021'
wire:
type:
- string
- 'null'
description: Wire transfer routing number
example: 026009593
swiftCode:
type:
- string
- 'null'
description: SWIFT/BIC code for international transfers
example: CHASUS33
eftInstitution:
type:
- string
- 'null'
description: EFT institution number (Canadian banking)
example: '001'
eftTransit:
type:
- string
- 'null'
description: EFT transit number (Canadian banking)
example: '00010'
clabe:
type:
- string
- 'null'
description: CLABE number (Mexican banking)
example: 012180001234567897
currency:
type:
- string
- 'null'
description: Preferred currency code (ISO 4217)
example: USD
paymentTermId:
type:
- string
- 'null'
format: uuid
description: Payment term ID
example: 550e8400-e29b-41d4-a716-446655440002
IDFilter:
type: object
description: Filter options for ID fields (limited operations - exact match only)
properties:
equalTo:
type: string
format: uuid
description: Exact match
in:
type: array
description: Matches any UUID in the array
items:
type: string
format: uuid
OutstandingBillsForPaymentResponse:
type: object
required:
- bills
- totalOutstanding
properties:
bills:
type: array
items:
$ref: '#/components/schemas/OutstandingBill'
totalOutstanding:
type: number
description: Total outstanding balance
carrier:
$ref: '#/components/schemas/CarrierReference'
vendor:
$ref: '#/components/schemas/VendorReference'
carrierFactor:
$ref: '#/components/schemas/bill-payments_CarrierFactorReference'
bill-payments_CarrierFactorReference:
type: object
properties:
id:
type: string
format: uuid
companyName:
type: string
bankName:
type:
- string
- 'null'
CarrierFactorFilter:
type: object
description: Filter criteria for carrier factors with AND/OR logic support
properties:
and:
type: array
description: All conditions must match (recursive)
items:
$ref: '#/components/schemas/CarrierFactorFilter'
or:
type: array
description: At least one condition must match (recursive)
items:
$ref: '#/components/schemas/CarrierFactorFilter'
not:
$ref: '#/components/schemas/CarrierFactorFilter'
description: Negates the filter
id:
$ref: '#/components/schemas/IDFilter'
key:
$ref: '#/components/schemas/ClientKeyFilter'
companyName:
$ref: '#/components/schemas/StringFilter'
email:
$ref: '#/components/schemas/StringFilter'
phoneNumber:
$ref: '#/components/schemas/StringFilter'
phoneExtension:
$ref: '#/components/schemas/StringFilter'
fax:
$ref: '#/components/schemas/StringFilter'
city:
$ref: '#/components/schemas/StringFilter'
state:
$ref: '#/components/schemas/StringFilter'
country:
$ref: '#/components/schemas/StringFilter'
zipCode:
$ref: '#/components/schemas/StringFilter'
bankName:
$ref: '#/components/schemas/StringFilter'
currency:
$ref: '#/components/schemas/StringFilter'
paymentTermId:
$ref: '#/components/schemas/UUIDFilter'
createdAt:
$ref: '#/components/schemas/DatetimeFilter'
updatedAt:
$ref: '#/components/schemas/DatetimeFilter'
deletedAt:
$ref: '#/components/schemas/DatetimeFilter'
PaginationInfo:
type: object
required:
- pageSize
- hasNextPage
properties:
pageSize:
type: integer
description: Number of items per page
example: 50
hasNextPage:
type: boolean
description: Whether there are more pages
example: true
hasPreviousPage:
type: boolean
description: Whether there are previous pages
example: false
endCursor:
type:
- string
- 'null'
description: Cursor for the next page (null if no next page)
example: eyJpZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCJ9
CarrierFactor:
type: object
required:
- id
- companyName
- createdAt
- updatedAt
properties:
id:
type: string
format: uuid
readOnly: true
description: Unique carrier factor identifier
example: 550e8400-e29b-41d4-a716-446655440000
companyName:
type: string
description: Factoring company legal name
example: Capital Factoring Services Inc
key:
type:
- string
- 'null'
maxL
# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mvmnt/refs/heads/main/openapi/mvmnt-carrier-factors-api-openapi.yml