MVMNT Carrier Payment Methods API
Carrier payment method management operations
Carrier payment method 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-payment-methods-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 Payment Methods 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 Payment Methods
description: Carrier payment method management operations
paths:
/carrier-payment-methods/filter:
post:
tags:
- Carrier Payment Methods
summary: Filter carrier payment methods
description: 'Query carrier payment methods using flexible filter criteria with AND/OR logic.
By default, only non-deleted payment methods are returned (deletedAt: { isNull: true }).
Override this by explicitly setting deletedAt filter criteria.
Carrier payment methods define how and where payments are sent for a specific carrier.
'
operationId: filterCarrierPaymentMethods
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CarrierPaymentMethodFilterRequest'
responses:
'200':
description: Filtered carrier payment methods with pagination
content:
application/json:
schema:
type: object
required:
- data
- pageInfo
properties:
data:
type: array
items:
$ref: '#/components/schemas/CarrierPaymentMethod'
pageInfo:
$ref: '#/components/schemas/PaginationInfo'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'500':
$ref: '#/components/responses/InternalServerError'
/carrier-payment-methods:
post:
tags:
- Carrier Payment Methods
summary: Create carrier payment method
description: 'Create a new carrier payment method.
**Payment Recipient Type Constraints:**
- **DIRECT**: Payment goes to carrier directly. `carrierFactorId` must be null or omitted.
- **FACTOR**: Payment goes to factoring company. `carrierFactorId` is required.
**Important**: The `carrierId` cannot be changed after creation.
'
operationId: createCarrierPaymentMethod
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CarrierPaymentMethodInput'
examples:
directPayment:
summary: Direct ACH payment to carrier
value:
carrierId: 770e8400-e29b-41d4-a716-446655440000
paymentRecipientType: DIRECT
paymentMethodType: ACH
isPreferred: true
bankName: Chase Bank
accountName: Carrier Transport Inc
accountNumber: '1234567890'
abaAch: '021000021'
currency: USD
factorPayment:
summary: Payment through factoring company
value:
carrierId: 770e8400-e29b-41d4-a716-446655440000
paymentRecipientType: FACTOR
paymentMethodType: ACH_WIRE
carrierFactorId: 550e8400-e29b-41d4-a716-446655440000
isPreferred: false
zelle:
summary: Zelle payment
value:
carrierId: 770e8400-e29b-41d4-a716-446655440000
paymentRecipientType: DIRECT
paymentMethodType: ZELLE
email: payments@carrier.com
phone: +1-555-123-4567
username: carrier_payments
responses:
'201':
description: Carrier payment method created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CarrierPaymentMethod'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'409':
$ref: '#/components/responses/ConflictError'
'422':
$ref: '#/components/responses/ValidationError'
'500':
$ref: '#/components/responses/InternalServerError'
/carrier-payment-methods/{id}:
get:
tags:
- Carrier Payment Methods
summary: Get carrier payment method
description: 'Retrieve a single carrier payment method by its unique identifier.
Returns full details including banking information and associated carrier/factor references.
'
operationId: getCarrierPaymentMethodById
parameters:
- $ref: '#/components/parameters/IdOrClientKey'
responses:
'200':
description: Carrier payment method found
content:
application/json:
schema:
$ref: '#/components/schemas/CarrierPaymentMethod'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/InternalServerError'
patch:
tags:
- Carrier Payment Methods
summary: Update carrier payment method
description: 'Partially update a carrier payment method. Only provided fields will be updated.
**IMPORTANT**: The `carrierId` field cannot be changed after creation.
**Payment Recipient Type Constraints:**
- When changing to **DIRECT**: `carrierFactorId` must be set to null
- When changing to **FACTOR**: `carrierFactorId` is required
- **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: updateCarrierPaymentMethod
parameters:
- $ref: '#/components/parameters/IdOrClientKey'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CarrierPaymentMethodPatch'
examples:
updateBanking:
summary: Update banking details
value:
bankName: Bank of America
accountNumber: '9876543210'
abaAch: 026009593
changeToFactor:
summary: Change from direct to factor payment
value:
paymentRecipientType: FACTOR
carrierFactorId: 550e8400-e29b-41d4-a716-446655440000
makePreferred:
summary: Set as preferred payment method
value:
isPreferred: true
responses:
'200':
description: Carrier payment method updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CarrierPaymentMethod'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'404':
$ref: '#/components/responses/NotFoundError'
'409':
$ref: '#/components/responses/ConflictError'
'422':
$ref: '#/components/responses/ValidationError'
'500':
$ref: '#/components/responses/InternalServerError'
delete:
tags:
- Carrier Payment Methods
summary: Delete carrier payment method
description: 'Soft delete a carrier payment method (sets deletedAt timestamp).
The payment method will no longer appear in default queries but can be retrieved
by explicitly filtering for deleted records.
'
operationId: deleteCarrierPaymentMethod
parameters:
- $ref: '#/components/parameters/IdOrClientKey'
responses:
'204':
description: Carrier payment method deleted successfully
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/InternalServerError'
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
ValidationError:
description: Validation error - invalid field values
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationError'
example:
error: validation_error
message: Invalid field values
details:
- field: email
message: Must be a valid email address
- field: status
message: Must be one of PENDING, ACTIVE, INACTIVE
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:
PaymentRecipientTypeFilter:
type: object
description: Filter for payment recipient type
properties:
equalTo:
$ref: '#/components/schemas/PaymentRecipientType'
notEqualTo:
$ref: '#/components/schemas/PaymentRecipientType'
in:
type: array
items:
$ref: '#/components/schemas/PaymentRecipientType'
notIn:
type: array
items:
$ref: '#/components/schemas/PaymentRecipientType'
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
CarrierPaymentMethodFilter:
type: object
description: Filter criteria for carrier payment methods with AND/OR logic support
properties:
and:
type: array
description: All conditions must match (recursive)
items:
$ref: '#/components/schemas/CarrierPaymentMethodFilter'
or:
type: array
description: At least one condition must match (recursive)
items:
$ref: '#/components/schemas/CarrierPaymentMethodFilter'
not:
$ref: '#/components/schemas/CarrierPaymentMethodFilter'
description: Negates the filter
id:
$ref: '#/components/schemas/IDFilter'
carrierId:
$ref: '#/components/schemas/UUIDFilter'
paymentRecipientType:
$ref: '#/components/schemas/PaymentRecipientTypeFilter'
paymentMethodType:
$ref: '#/components/schemas/PaymentMethodTypeFilter'
status:
$ref: '#/components/schemas/StringFilter'
isPreferred:
$ref: '#/components/schemas/BooleanFilter'
email:
$ref: '#/components/schemas/StringFilter'
companyName:
$ref: '#/components/schemas/StringFilter'
bankName:
$ref: '#/components/schemas/StringFilter'
currency:
$ref: '#/components/schemas/StringFilter'
carrierFactorId:
$ref: '#/components/schemas/UUIDFilter'
paymentTermId:
$ref: '#/components/schemas/UUIDFilter'
createdAt:
$ref: '#/components/schemas/DatetimeFilter'
updatedAt:
$ref: '#/components/schemas/DatetimeFilter'
deletedAt:
$ref: '#/components/schemas/DatetimeFilter'
CarrierPaymentMethod:
type: object
required:
- id
- carrierId
- carrier
- paymentRecipientType
- paymentMethodType
- createdAt
- updatedAt
properties:
id:
type: string
format: uuid
readOnly: true
description: Unique carrier payment method identifier
example: 550e8400-e29b-41d4-a716-446655440000
carrierId:
type: string
format: uuid
readOnly: true
description: 'Carrier profile ID (read-only after creation).
This field cannot be changed after the payment method is created.
'
example: 770e8400-e29b-41d4-a716-446655440000
carrier:
$ref: '#/components/schemas/CarrierReference'
description: Carrier profile reference with full details
paymentRecipientType:
$ref: '#/components/schemas/PaymentRecipientType'
description: 'Who receives the payment.
- **DIRECT**: Payment goes directly to the carrier (carrierFactorId must be null)
- **FACTOR**: Payment goes to a factoring company (carrierFactorId is required)
'
paymentMethodType:
$ref: '#/components/schemas/PaymentMethodType'
description: How payment is made
status:
type:
- string
- 'null'
description: Payment method status
example: ACTIVE
isPreferred:
type:
- boolean
- 'null'
description: Whether this is the preferred payment method for the carrier
example: true
email:
type:
- string
- 'null'
format: email
description: Email address for payment notifications
example: payments@carrier.com
phone:
type:
- string
- 'null'
description: Phone number for payment contact
example: +1-555-123-4567
companyName:
type:
- string
- 'null'
description: Company name for this payment method (may differ from carrier name)
example: Carrier Payments LLC
username:
type:
- string
- 'null'
description: Username for payment platforms (e.g., Zelle, Venmo)
example: carrier_payments
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: Carrier Transport Inc
accountNumber:
type:
- string
- 'null'
description: Bank account number (masked in responses)
example: '****1234'
abaAch:
type:
- string
- 'null'
description: ABA/ACH routing number for electronic transfers
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 identifier)
example: 012180001234567897
currency:
type:
- string
- 'null'
description: Preferred currency code (ISO 4217)
example: USD
carrierFactor:
anyOf:
- $ref: '#/components/schemas/CarrierFactorReference'
- type: 'null'
description: 'Factoring company reference (required when paymentRecipientType is FACTOR).
When paymentRecipientType is DIRECT, this must be null.
'
paymentTerm:
anyOf:
- $ref: '#/components/schemas/PaymentTermReference'
- type: 'null'
description: Payment terms for this payment method
createdAt:
type: string
format: date-time
readOnly: true
description: When the payment method was created
example: '2025-01-15T10:00:00Z'
updatedAt:
type: string
format: date-time
readOnly: true
description: When the payment method was last updated
example: '2025-01-15T14:30:00Z'
deletedAt:
type:
- string
- 'null'
format: date-time
readOnly: true
description: When the payment method was soft deleted (null if active)
example: null
deletedBy:
anyOf:
- $ref: '#/components/schemas/UserReference'
- type: 'null'
readOnly: true
description: User who deleted this payment method
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)
UserReference:
type: object
description: '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.
'
required:
- id
- email
- status
- createdAt
- updatedAt
properties:
id:
type: string
format: uuid
description: User UUID
example: 550e8400-e29b-41d4-a716-446655440000
key:
type:
- string
- 'null'
maxLength: 512
description: Client-defined reference ID if set
example: ERP-USER-12345
email:
type: string
format: email
description: User's email address
example: john.doe@example.com
name:
type:
- string
- 'null'
description: User's full name
example: John Doe
phone:
type:
- string
- 'null'
description: User's phone number
example: +1-555-123-4567
phoneExt:
type:
- string
- 'null'
description: Phone extension
example: '123'
status:
type: string
description: User account status
enum:
- PENDING
- ACTIVE
- INACTIVE
example: ACTIVE
avatarId:
type:
- string
- 'null'
format: uuid
description: Profile avatar document ID
example: 7c9e6679-7425-40de-944b-e07fc1f90ae7
createdAt:
type: string
format: date-time
description: When the user was created
example: '2025-01-15T10:00:00Z'
updatedAt:
type: string
format: date-time
description: When the user was last updated
example: '2025-01-15T14:30:00Z'
deletedAt:
type:
- string
- 'null'
format: date-time
description: When the user was soft deleted (null if active)
example: null
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
PaymentRecipientType:
type: string
description: 'Who receives the payment.
- `DIRECT`: Payment goes directly to the carrier
- `FACTOR`: Payment goes to a factoring company (requires carrierFactorId)
'
enum:
- DIRECT
- FACTOR
example: DIRECT
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)
CarrierPaymentMethodInput:
type: object
required:
- carrierId
- paymentRecipientType
- paymentMethodType
properties:
carrierId:
type: string
format: uuid
description: 'Carrier profile ID.
**IMPORTANT**: This field cannot be changed after creation.
'
example: 770e8400-e29b-41d4-a716-446655440000
paymentRecipientType:
$ref: '
# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mvmnt/refs/heads/main/openapi/mvmnt-carrier-payment-methods-api-openapi.yml