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

Carriers

Carrier management operations

Operations

Carrier Contacts

Carrier contact management operations

Operations

Carrier Factors

Carrier factor (factoring company) management operations

Operations

Carrier Payment Methods

Carrier payment method management operations

Operations

Companies

Company management operations

Operations

Credit Memos

AR credit memo management operations. Credit memos represent customer credits that can be applied to invoices.

Operations

Filter credit memos

Request

Search for credit memos using filter criteria.

Common Filters

  • By customer: { "filter": { "customerId": { "equalTo": "uuid" } } }
  • With balance: { "filter": { "hasRemainingBalance": true } }
  • Open credits: { "filter": { "status": { "in": ["OPEN", "PARTIALLY_APPLIED"] } } }
Security
BearerAuth
Bodyapplication/jsonrequired
filterobject(CreditMemoFilter)
pageSizeinteger[ 1 .. 100 ]
Default 50
cursorstring
curl -i -X POST \
  https://docs.mvmnt.io/_mock/apis/openapi/credit-memos/filter \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "filter": {
      "customerId": {
        "equalTo": "550e8400-e29b-41d4-a716-446655440000"
      }
    }
  }'

Responses

Credit memos matching filter criteria

Bodyapplication/json
dataArray of objects(CreditMemo)required
data[].​idstring(uuid)required
Example: "550e8400-e29b-41d4-a716-446655440000"
data[].​keystring or null

Client-defined key

data[].​referencestring or null

Reference number

Example: "CM-00001"
data[].​customerobject(CustomerReference)

Enhanced reference to a customer resource (returned in responses). Includes full customer details in addition to id/key.

Note: Does NOT include nested references (paymentTerm, contacts, etc.) to prevent recursion. Maximum nesting depth: 1 level.

data[].​amountnumberrequired

Original credit amount

data[].​appliedAmountnumber

Total amount applied to invoices

data[].​remainingBalancenumberrequired

Available balance

data[].​currencystring or null

Currency code

Example: "USD"
data[].​statusstring(CreditMemoStatus)required

Current status of the credit memo (derived from remaining balance).

  • OPEN: No applications, full balance available
  • PARTIALLY_APPLIED: Some amount applied, balance remains
  • APPLIED: Fully applied to invoices
  • VOIDED: Credit memo cancelled
Enum"OPEN""PARTIALLY_APPLIED""APPLIED""VOIDED"
data[].​memoDatestring(date)required

Credit memo date

data[].​notesstring or null

Notes or description

data[].​sourcePaymentGroupIdstring or null(uuid)

Payment that created this credit (if from overpayment)

data[].​sourcePaymentKeystring or null
data[].​applicationsArray of objects(CreditMemoApplication)

Invoices this credit is applied to

data[].​qboIdstring or null

QuickBooks Online credit memo ID

data[].​createdAtstring(date-time)required
data[].​updatedAtstring or null(date-time)
data[].​voidedAtstring or null(date-time)
data[].​voidReasonstring or null
data[].​createdByobject(UserReference)

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.

paginationobject(PaginationInfo)required
pagination.​pageSizeintegerrequired

Number of items per page

Example: 50
pagination.​hasNextPagebooleanrequired

Whether there are more pages

Example: true
pagination.​hasPreviousPageboolean

Whether there are previous pages

Example: false
pagination.​endCursorstring or null

Cursor for the next page (null if no next page)

Example: "eyJpZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCJ9"
Response
application/json
{ "data": [ {} ], "pagination": { "pageSize": 50, "hasNextPage": true, "hasPreviousPage": false, "endCursor": "eyJpZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCJ9" } }

Create a credit memo

Request

Create a new credit memo for a customer.

Use cases

  • Customer refunds
  • Service adjustments
  • Promotional credits
  • Manual corrections

Note

Credit memos from overpayments are created automatically when a payment exceeds invoice totals.

Security
BearerAuth
Bodyapplication/jsonrequired
customerIdstring(uuid)required

Customer to credit

amountnumber>= 0.01required

Credit amount

currencystring

Currency code (defaults to customer currency)

memoDatestring(date)required

Credit memo date

referencestring<= 500 characters

Reference number

notesstring<= 2000 characters

Notes or description

curl -i -X POST \
  https://docs.mvmnt.io/_mock/apis/openapi/credit-memos \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "customerId": "550e8400-e29b-41d4-a716-446655440000",
    "amount": 500,
    "currency": "USD",
    "memoDate": "2025-01-15",
    "reference": "CM-00001",
    "notes": "Refund for damaged goods"
  }'

Responses

Credit memo created successfully

Bodyapplication/json
idstring(uuid)required
Example: "550e8400-e29b-41d4-a716-446655440000"
keystring or null

Client-defined key

referencestring or null

Reference number

Example: "CM-00001"
customerobject(CustomerReference)

Enhanced reference to a customer resource (returned in responses). Includes full customer details in addition to id/key.

Note: Does NOT include nested references (paymentTerm, contacts, etc.) to prevent recursion. Maximum nesting depth: 1 level.

amountnumberrequired

Original credit amount

appliedAmountnumber

Total amount applied to invoices

remainingBalancenumberrequired

Available balance

currencystring or null

Currency code

Example: "USD"
statusstring(CreditMemoStatus)required

Current status of the credit memo (derived from remaining balance).

  • OPEN: No applications, full balance available
  • PARTIALLY_APPLIED: Some amount applied, balance remains
  • APPLIED: Fully applied to invoices
  • VOIDED: Credit memo cancelled
Enum"OPEN""PARTIALLY_APPLIED""APPLIED""VOIDED"
memoDatestring(date)required

Credit memo date

notesstring or null

Notes or description

sourcePaymentGroupIdstring or null(uuid)

Payment that created this credit (if from overpayment)

sourcePaymentKeystring or null
applicationsArray of objects(CreditMemoApplication)

Invoices this credit is applied to

qboIdstring or null

QuickBooks Online credit memo ID

createdAtstring(date-time)required
updatedAtstring or null(date-time)
voidedAtstring or null(date-time)
voidReasonstring or null
createdByobject(UserReference)

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.

Response
application/json
{ "id": "550e8400-e29b-41d4-a716-446655440000", "key": "string", "reference": "CM-00001", "customer": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-CUSTOMER-ACME", "name": "Acme Manufacturing Corp", "friendlyId": "A123456", "status": "ACTIVE", "phoneNumber": "+1-555-123-4567", "website": "https://acme-manufacturing.com", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }, "amount": 0, "appliedAmount": 0, "remainingBalance": 0, "currency": "USD", "status": "OPEN", "memoDate": "2019-08-24", "notes": "string", "sourcePaymentGroupId": "88f8a750-5184-4109-bb35-e2e1ef4ac566", "sourcePaymentKey": "string", "applications": [ {} ], "qboId": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "voidedAt": "2019-08-24T14:15:22Z", "voidReason": "string", "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 } }

Get a credit memo

Request

Retrieve a credit memo by ID.

The response includes all applications showing how the credit has been used.

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

Responses

Credit memo retrieved successfully

Bodyapplication/json
idstring(uuid)required
Example: "550e8400-e29b-41d4-a716-446655440000"
keystring or null

Client-defined key

referencestring or null

Reference number

Example: "CM-00001"
customerobject(CustomerReference)

Enhanced reference to a customer resource (returned in responses). Includes full customer details in addition to id/key.

Note: Does NOT include nested references (paymentTerm, contacts, etc.) to prevent recursion. Maximum nesting depth: 1 level.

amountnumberrequired

Original credit amount

appliedAmountnumber

Total amount applied to invoices

remainingBalancenumberrequired

Available balance

currencystring or null

Currency code

Example: "USD"
statusstring(CreditMemoStatus)required

Current status of the credit memo (derived from remaining balance).

  • OPEN: No applications, full balance available
  • PARTIALLY_APPLIED: Some amount applied, balance remains
  • APPLIED: Fully applied to invoices
  • VOIDED: Credit memo cancelled
Enum"OPEN""PARTIALLY_APPLIED""APPLIED""VOIDED"
memoDatestring(date)required

Credit memo date

notesstring or null

Notes or description

sourcePaymentGroupIdstring or null(uuid)

Payment that created this credit (if from overpayment)

sourcePaymentKeystring or null
applicationsArray of objects(CreditMemoApplication)

Invoices this credit is applied to

qboIdstring or null

QuickBooks Online credit memo ID

createdAtstring(date-time)required
updatedAtstring or null(date-time)
voidedAtstring or null(date-time)
voidReasonstring or null
createdByobject(UserReference)

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.

Response
application/json
{ "id": "550e8400-e29b-41d4-a716-446655440000", "key": "string", "reference": "CM-00001", "customer": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-CUSTOMER-ACME", "name": "Acme Manufacturing Corp", "friendlyId": "A123456", "status": "ACTIVE", "phoneNumber": "+1-555-123-4567", "website": "https://acme-manufacturing.com", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }, "amount": 0, "appliedAmount": 0, "remainingBalance": 0, "currency": "USD", "status": "OPEN", "memoDate": "2019-08-24", "notes": "string", "sourcePaymentGroupId": "88f8a750-5184-4109-bb35-e2e1ef4ac566", "sourcePaymentKey": "string", "applications": [ {} ], "qboId": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "voidedAt": "2019-08-24T14:15:22Z", "voidReason": "string", "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 } }

Update a credit memo

Request

Update credit memo fields.

Constraints

  • Amount cannot be changed if any applications exist
  • Customer cannot be changed once created
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
referencestring or null
notesstring or null
memoDatestring(date)
curl -i -X PATCH \
  'https://docs.mvmnt.io/_mock/apis/openapi/credit-memos/550e8400-e29b-41d4-a716-446655440000?by=key' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "reference": "CM-00001-REV"
  }'

Responses

Credit memo updated successfully

Bodyapplication/json
idstring(uuid)required
Example: "550e8400-e29b-41d4-a716-446655440000"
keystring or null

Client-defined key

referencestring or null

Reference number

Example: "CM-00001"
customerobject(CustomerReference)

Enhanced reference to a customer resource (returned in responses). Includes full customer details in addition to id/key.

Note: Does NOT include nested references (paymentTerm, contacts, etc.) to prevent recursion. Maximum nesting depth: 1 level.

amountnumberrequired

Original credit amount

appliedAmountnumber

Total amount applied to invoices

remainingBalancenumberrequired

Available balance

currencystring or null

Currency code

Example: "USD"
statusstring(CreditMemoStatus)required

Current status of the credit memo (derived from remaining balance).

  • OPEN: No applications, full balance available
  • PARTIALLY_APPLIED: Some amount applied, balance remains
  • APPLIED: Fully applied to invoices
  • VOIDED: Credit memo cancelled
Enum"OPEN""PARTIALLY_APPLIED""APPLIED""VOIDED"
memoDatestring(date)required

Credit memo date

notesstring or null

Notes or description

sourcePaymentGroupIdstring or null(uuid)

Payment that created this credit (if from overpayment)

sourcePaymentKeystring or null
applicationsArray of objects(CreditMemoApplication)

Invoices this credit is applied to

qboIdstring or null

QuickBooks Online credit memo ID

createdAtstring(date-time)required
updatedAtstring or null(date-time)
voidedAtstring or null(date-time)
voidReasonstring or null
createdByobject(UserReference)

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.

Response
application/json
{ "id": "550e8400-e29b-41d4-a716-446655440000", "key": "string", "reference": "CM-00001", "customer": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-CUSTOMER-ACME", "name": "Acme Manufacturing Corp", "friendlyId": "A123456", "status": "ACTIVE", "phoneNumber": "+1-555-123-4567", "website": "https://acme-manufacturing.com", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }, "amount": 0, "appliedAmount": 0, "remainingBalance": 0, "currency": "USD", "status": "OPEN", "memoDate": "2019-08-24", "notes": "string", "sourcePaymentGroupId": "88f8a750-5184-4109-bb35-e2e1ef4ac566", "sourcePaymentKey": "string", "applications": [ {} ], "qboId": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "voidedAt": "2019-08-24T14:15:22Z", "voidReason": "string", "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 } }

Void a credit memo

Request

Void/cancel a credit memo.

Prerequisites

  • Credit memo must have no applications (full balance remaining)
  • Must unapply all applications before voiding

What happens

  • Credit memo status changes to VOIDED
  • Credit is no longer available for application
  • QBO sync will delete the credit memo
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/json
reasonstring<= 1000 characters

Reason for voiding

curl -i -X POST \
  'https://docs.mvmnt.io/_mock/apis/openapi/credit-memos/550e8400-e29b-41d4-a716-446655440000/void?by=key' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "reason": "Credit issued in error"
  }'

Responses

Credit memo voided successfully

Bodyapplication/json
idstring(uuid)required
Example: "550e8400-e29b-41d4-a716-446655440000"
keystring or null

Client-defined key

referencestring or null

Reference number

Example: "CM-00001"
customerobject(CustomerReference)

Enhanced reference to a customer resource (returned in responses). Includes full customer details in addition to id/key.

Note: Does NOT include nested references (paymentTerm, contacts, etc.) to prevent recursion. Maximum nesting depth: 1 level.

amountnumberrequired

Original credit amount

appliedAmountnumber

Total amount applied to invoices

remainingBalancenumberrequired

Available balance

currencystring or null

Currency code

Example: "USD"
statusstring(CreditMemoStatus)required

Current status of the credit memo (derived from remaining balance).

  • OPEN: No applications, full balance available
  • PARTIALLY_APPLIED: Some amount applied, balance remains
  • APPLIED: Fully applied to invoices
  • VOIDED: Credit memo cancelled
Enum"OPEN""PARTIALLY_APPLIED""APPLIED""VOIDED"
memoDatestring(date)required

Credit memo date

notesstring or null

Notes or description

sourcePaymentGroupIdstring or null(uuid)

Payment that created this credit (if from overpayment)

sourcePaymentKeystring or null
applicationsArray of objects(CreditMemoApplication)

Invoices this credit is applied to

qboIdstring or null

QuickBooks Online credit memo ID

createdAtstring(date-time)required
updatedAtstring or null(date-time)
voidedAtstring or null(date-time)
voidReasonstring or null
createdByobject(UserReference)

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.

Response
application/json
{ "id": "550e8400-e29b-41d4-a716-446655440000", "key": "string", "reference": "CM-00001", "customer": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-CUSTOMER-ACME", "name": "Acme Manufacturing Corp", "friendlyId": "A123456", "status": "ACTIVE", "phoneNumber": "+1-555-123-4567", "website": "https://acme-manufacturing.com", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }, "amount": 0, "appliedAmount": 0, "remainingBalance": 0, "currency": "USD", "status": "OPEN", "memoDate": "2019-08-24", "notes": "string", "sourcePaymentGroupId": "88f8a750-5184-4109-bb35-e2e1ef4ac566", "sourcePaymentKey": "string", "applications": [ {} ], "qboId": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "voidedAt": "2019-08-24T14:15:22Z", "voidReason": "string", "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 } }

Apply credit to invoice

Request

Apply credit memo amount to an invoice.

What happens

  • Creates credit application record
  • Reduces credit memo remaining balance
  • Reduces invoice open balance
  • Updates order status if invoice is fully paid

Constraints

  • Amount must not exceed remaining balance
  • Invoice must belong to same customer
  • Invoice must have outstanding balance
  • Currency must match
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
invoiceIdstring(uuid)required

Invoice to apply credit to

amountnumber>= 0.01required

Amount to apply

curl -i -X POST \
  'https://docs.mvmnt.io/_mock/apis/openapi/credit-memos/550e8400-e29b-41d4-a716-446655440000/apply?by=key' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "invoiceId": "660e8400-e29b-41d4-a716-446655440001",
    "amount": 200
  }'

Responses

Credit applied successfully

Bodyapplication/json
applicationobject(CreditMemoApplication)required
application.​idstring(uuid)required
application.​invoiceIdstring(uuid)required
application.​invoiceFriendlyIdstring or null
application.​paymentIdstring(uuid)

Payment through which this credit was applied

application.​paymentKeystring or null
application.​amountnumberrequired

Amount applied

application.​appliedAtstring(date-time)
creditMemoobject(CreditMemo)required
creditMemo.​idstring(uuid)required
Example: "550e8400-e29b-41d4-a716-446655440000"
creditMemo.​keystring or null

Client-defined key

creditMemo.​referencestring or null

Reference number

Example: "CM-00001"
creditMemo.​customerobject(CustomerReference)

Enhanced reference to a customer resource (returned in responses). Includes full customer details in addition to id/key.

Note: Does NOT include nested references (paymentTerm, contacts, etc.) to prevent recursion. Maximum nesting depth: 1 level.

creditMemo.​amountnumberrequired

Original credit amount

creditMemo.​appliedAmountnumber

Total amount applied to invoices

creditMemo.​remainingBalancenumberrequired

Available balance

creditMemo.​currencystring or null

Currency code

Example: "USD"
creditMemo.​statusstring(CreditMemoStatus)required

Current status of the credit memo (derived from remaining balance).

  • OPEN: No applications, full balance available
  • PARTIALLY_APPLIED: Some amount applied, balance remains
  • APPLIED: Fully applied to invoices
  • VOIDED: Credit memo cancelled
Enum"OPEN""PARTIALLY_APPLIED""APPLIED""VOIDED"
creditMemo.​memoDatestring(date)required

Credit memo date

creditMemo.​notesstring or null

Notes or description

creditMemo.​sourcePaymentGroupIdstring or null(uuid)

Payment that created this credit (if from overpayment)

creditMemo.​sourcePaymentKeystring or null
creditMemo.​applicationsArray of objects(CreditMemoApplication)

Invoices this credit is applied to

creditMemo.​qboIdstring or null

QuickBooks Online credit memo ID

creditMemo.​createdAtstring(date-time)required
creditMemo.​updatedAtstring or null(date-time)
creditMemo.​voidedAtstring or null(date-time)
creditMemo.​voidReasonstring or null
creditMemo.​createdByobject(UserReference)

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.

Response
application/json
{ "application": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "invoiceId": "4f163819-178d-470c-a246-d6768476a6ec", "invoiceFriendlyId": "string", "paymentId": "472e651e-5a1e-424d-8098-23858bf03ad7", "paymentKey": "string", "amount": 0, "appliedAt": "2019-08-24T14:15:22Z" }, "creditMemo": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "string", "reference": "CM-00001", "customer": {}, "amount": 0, "appliedAmount": 0, "remainingBalance": 0, "currency": "USD", "status": "OPEN", "memoDate": "2019-08-24", "notes": "string", "sourcePaymentGroupId": "88f8a750-5184-4109-bb35-e2e1ef4ac566", "sourcePaymentKey": "string", "applications": [], "qboId": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "voidedAt": "2019-08-24T14:15:22Z", "voidReason": "string", "createdBy": {} } }

Get credit applications

Request

List all invoice applications for a credit memo.

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

Responses

Applications retrieved successfully

Bodyapplication/json
dataArray of objects(CreditMemoApplication)
totalAppliednumber
remainingBalancenumber
Response
application/json
{ "data": [ {} ], "totalApplied": 0, "remainingBalance": 0 }

Unapply credit from invoice

Request

Remove a credit application from an invoice.

What happens

  • Application record is deleted
  • Credit memo remaining balance increases
  • Invoice open balance increases
  • Order status may revert if invoice becomes unpaid
Security
BearerAuth
Path
creditMemoIdstringrequired

Credit memo ID

applicationIdstring(uuid)required

Application ID

curl -i -X DELETE \
  'https://docs.mvmnt.io/_mock/apis/openapi/credit-memos/{creditMemoId}/applications/{applicationId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Credit unapplied successfully

Bodyapplication/json
idstring(uuid)required
Example: "550e8400-e29b-41d4-a716-446655440000"
keystring or null

Client-defined key

referencestring or null

Reference number

Example: "CM-00001"
customerobject(CustomerReference)

Enhanced reference to a customer resource (returned in responses). Includes full customer details in addition to id/key.

Note: Does NOT include nested references (paymentTerm, contacts, etc.) to prevent recursion. Maximum nesting depth: 1 level.

amountnumberrequired

Original credit amount

appliedAmountnumber

Total amount applied to invoices

remainingBalancenumberrequired

Available balance

currencystring or null

Currency code

Example: "USD"
statusstring(CreditMemoStatus)required

Current status of the credit memo (derived from remaining balance).

  • OPEN: No applications, full balance available
  • PARTIALLY_APPLIED: Some amount applied, balance remains
  • APPLIED: Fully applied to invoices
  • VOIDED: Credit memo cancelled
Enum"OPEN""PARTIALLY_APPLIED""APPLIED""VOIDED"
memoDatestring(date)required

Credit memo date

notesstring or null

Notes or description

sourcePaymentGroupIdstring or null(uuid)

Payment that created this credit (if from overpayment)

sourcePaymentKeystring or null
applicationsArray of objects(CreditMemoApplication)

Invoices this credit is applied to

qboIdstring or null

QuickBooks Online credit memo ID

createdAtstring(date-time)required
updatedAtstring or null(date-time)
voidedAtstring or null(date-time)
voidReasonstring or null
createdByobject(UserReference)

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.

Response
application/json
{ "id": "550e8400-e29b-41d4-a716-446655440000", "key": "string", "reference": "CM-00001", "customer": { "id": "550e8400-e29b-41d4-a716-446655440000", "key": "ERP-CUSTOMER-ACME", "name": "Acme Manufacturing Corp", "friendlyId": "A123456", "status": "ACTIVE", "phoneNumber": "+1-555-123-4567", "website": "https://acme-manufacturing.com", "createdAt": "2025-01-15T10:00:00Z", "updatedAt": "2025-01-15T14:30:00Z", "deletedAt": null }, "amount": 0, "appliedAmount": 0, "remainingBalance": 0, "currency": "USD", "status": "OPEN", "memoDate": "2019-08-24", "notes": "string", "sourcePaymentGroupId": "88f8a750-5184-4109-bb35-e2e1ef4ac566", "sourcePaymentKey": "string", "applications": [ {} ], "qboId": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "voidedAt": "2019-08-24T14:15:22Z", "voidReason": "string", "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 } }

Bills

AP bill management operations. Bills represent carrier and vendor invoices to be paid.

Operations

Bill Payments

AP bill payment management operations. Bill payments record payments made to carriers and vendors.

Operations

Customers

Customer management operations

Operations

Customer Contacts

Customer contact management operations

Operations

Documents

Document management operations. Documents are files (PDFs, images) that can be attached to orders, loads, or services.

Operations

Invoices

AR invoice management operations. Invoices represent customer billing for shipment services.

Operations

Loads

Load management operations. Loads represent carrier execution - which carrier is moving the freight.

Operations

Locations

Location management operations

Operations

Location Contacts

Location contact management operations

Operations

Payment Terms

Payment term management operations

Operations

Payments

AR payment management operations. Payments represent received customer payments applied to invoices.

Operations

Quotes

Quote management operations. Quotes are pricing requests/responses that can be converted to shipments.

Operations

Saved Searches

Saved search management operations

Operations

Services

Service (vended service) management operations. Services represent non-carrier vendor work (drayage, customs, warehousing).

Operations

Shipments

Shipment tracking and management operations. Shipments contain orders, loads, and services.

Operations

Teams

Team management operations

Operations

Users

User management operations

Operations

Vendors

Vendor management operations

Operations

Vendor Contacts

Vendor contact management operations

Operations

Vendor Payment Methods

Vendor payment method management operations

Operations

Event Notifications

Webhooks