List routable subledger purposes for a customer
Handler: ListCustomerRoutablePurposes. Returns the menu purposes with a routable flag for the customer + currency, before any account exists. Powers the open-account drawer's purpose picker so it offers only purposes whose control ledger is configured for the customer's type and the chosen currency.
Path Parameters
Customer id.
Query Parameters
ISO 4217 currency code the account will be opened in.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v2/customers/497f6eca-6276-4993-bfeb-53cbbbba6f08/subledger-purposes?currency=str"{
"purposes": [
{
"purpose": "string",
"anchor_level": "account",
"label": "string",
"routable": true,
"control_code": "string"
}
]
}{
"status": 400,
"message": "string",
"code": "transfers_m.account_not_found",
"class": "validation",
"retryable": false,
"details": [
{
"field": "amount",
"rule": "gt",
"param": "0",
"message": "amount must be greater than 0"
}
]
}{
"status": 400,
"message": "string",
"code": "transfers_m.account_not_found",
"class": "validation",
"retryable": false,
"details": [
{
"field": "amount",
"rule": "gt",
"param": "0",
"message": "amount must be greater than 0"
}
]
}{
"status": 400,
"message": "string",
"code": "transfers_m.account_not_found",
"class": "validation",
"retryable": false,
"details": [
{
"field": "amount",
"rule": "gt",
"param": "0",
"message": "amount must be greater than 0"
}
]
}{
"status": 400,
"message": "string",
"code": "transfers_m.account_not_found",
"class": "validation",
"retryable": false,
"details": [
{
"field": "amount",
"rule": "gt",
"param": "0",
"message": "amount must be greater than 0"
}
]
}Handler: ListAccountSubledgers. Returns the full menu-purpose catalog for the account: each purpose with whether it is routable (a control ledger is configured) and whether it is already open (with the open subledger's balances).
Handler: UpdateAccountV2. Body UpdateAccountInput. Returns UnifiedAccountResponse. If the account is currently inactive (active=false), the caller must hold the Internal role to update it; otherwise the row is treated as not found and the request returns 404 Not Found. This check is enforced atomically inside the update transaction via a row lock (SELECT ... FOR UPDATE).