Skip to content

Record Statement Balance

POST
/schedules/statement-balance
curl --request POST \
--url https://example.com/schedules/statement-balance \
--header 'Content-Type: application/json' \
--data '{ "account": "example", "due_date": "2026-04-15", "statement_balance": 1, "statement_date": "2026-04-15", "transaction_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'

Record a credit card’s statement balance against the payment it is due on. The payment instance takes the statement balance (both legs move, the card’s leg = the balance), is pinned so the current-balance estimate no longer moves it, and reports basis: statement; the statement, its closing date and who recorded it stay on the instance. Recording again replaces it; resetting the instance removes it. Credit cards only — a loan payment is an ordinary override (PATCH /transactions/{id}).

Media typeapplication/json
StatementBalanceIn

A card statement balance for the payment it is due on (decision 80). Address the payment instance by transaction_id, or by the card (account) plus the statement’s due_date.

object
account
Any of:
string
due_date
Any of:
string format: date
statement_balance
required
Any of:
number
statement_date
Any of:
string format: date
transaction_id
Any of:
string format: uuid

Example generated

{
"account": "example",
"due_date": "2026-04-15",
"statement_balance": 1,
"statement_date": "2026-04-15",
"transaction_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
}

Successful Response

Media typeapplication/json
StatementBalanceOut
object
amount
required
Any of:
string
basis
required
Basis

Where the amount comes from: fixed, an estimate basis (last, rolling_avg_3, rolling_avg_12, counterparty_balance = the card’s current balance), override (a pinned instance: the amount is yours) or statement (a recorded card statement balance, decision 80)

string
Allowed values: fixed last rolling_avg_3 rolling_avg_12 counterparty_balance override statement
date
required
Date
string format: date
occurrence_date
required
Any of:
string format: date
overdue
required
Overdue
boolean
pinned
required
Pinned

Edited by a human/agent; exempt from rule refresh/resync

boolean
previous_amount
required
Previous Amount

The schedule account’s leg before the statement was recorded

string
schedule_id
required
Schedule Id
string format: uuid
statement_balance
Any of:
string
statement_date
Any of:
string format: date
statement_source
Any of:
string
Allowed values: human agent
transaction_id
required
Transaction Id
string format: uuid

Example

{
"basis": "fixed",
"statement_source": "human"
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
ctx
Context
object
input
Input
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string

Example generated

{
"detail": [
{
"ctx": {},
"input": "example",
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}