Skip to content

Record a payment against a debt instrument

POST/api/v1/businesses/{business_id}/cfo-portal/debt-schedule/instruments/{instrument_id}/payments

Record a payment on a loan, posting a balanced principal/interest entry.

Request Body:

  • payment_amount_cents: total payment, split into principal + interest.
  • cash_ledger_id: bank/cash account the money moves through.
  • payment_date: optional, defaults to today.
  • memo: optional journal-entry memo.
  • transaction_id: optional — when supplied, rebook the transaction's existing journal entry into the principal/interest split and link the subledger row to that transaction.

The principal and interest accounts are resolved by direction: debt we owe pays down Long-Term Debt with Interest Expense; a note receivable collects against Notes Receivable with Interest Income. Decrements the instrument's outstanding balance by the principal portion.

Operation ID: cfo_portal_record_debt_payment·View as markdown·OpenAPI slice

Authentication

Bearer token authentication. Pass your DayZero API token in the Authorization header and the target business UUID in x-business-id.

Parameters

Path

business_idstringrequired
instrument_idstringrequired

Request body

payment_amount_centsinteger

Total payment amount in cents (split into principal + interest). Omit when transaction_id is supplied — the transaction amount is used instead.

cash_ledger_idstring

Bank/cash ledger the money moves through — paid from (debt we owe) or received into (a note receivable). Optional when transaction_id is supplied (derived from the transaction JE).

payment_datestring · date

Payment date (defaults to today).

memostring
transaction_idstring

When set, rebook this bank transaction's journal entry into the principal + interest split instead of creating a standalone JE.

Responses

201Successful Response

successboolean
messagestring
codestring
dataDebtPaymentResponse

400Bad Request - Invalid input

errorstringrequired

Error category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.

messagestringrequired

Human-readable explanation, safe to show to end users.

codestringrequired

Stable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).

request_idstring

Correlation id for support requests. Echoes the x-request-id request header when one was supplied.

errorsobject

Field-level validation messages keyed by field name. Present on 400/422 validation failures only.

401Unauthorized - Missing or expired token, an MCP OAuth token used against the REST API, or no access to this business

errorstringrequired

Error category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.

messagestringrequired

Human-readable explanation, safe to show to end users.

codestringrequired

Stable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).

request_idstring

Correlation id for support requests. Echoes the x-request-id request header when one was supplied.

errorsobject

Field-level validation messages keyed by field name. Present on 400/422 validation failures only.

403Forbidden - Insufficient permissions

errorstringrequired

Error category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.

messagestringrequired

Human-readable explanation, safe to show to end users.

codestringrequired

Stable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).

request_idstring

Correlation id for support requests. Echoes the x-request-id request header when one was supplied.

errorsobject

Field-level validation messages keyed by field name. Present on 400/422 validation failures only.

404Not Found - Resource does not exist

errorstringrequired

Error category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.

messagestringrequired

Human-readable explanation, safe to show to end users.

codestringrequired

Stable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).

request_idstring

Correlation id for support requests. Echoes the x-request-id request header when one was supplied.

errorsobject

Field-level validation messages keyed by field name. Present on 400/422 validation failures only.

422Validation Error

errorstringrequired

Error category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.

messagestringrequired

Human-readable explanation, safe to show to end users.

codestringrequired

Stable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).

request_idstring

Correlation id for support requests. Echoes the x-request-id request header when one was supplied.

errorsobject

Field-level validation messages keyed by field name. Present on 400/422 validation failures only.