Update account interest
Apply specific interest accrual options to an account by replacing its full interest configuration.
This operation has full-replacement semantics: every request must redeclare the complete configuration. Partial updates (sending only the fields you want to change) are not supported and cause the validation to fail.
Although every property in the request body is independently optional, the body as a whole must satisfy several conditional rules. See the request body schema description for the full set of benchmark/fixed_interest_rate, tax_withholding, and taxes_exemption rules.
Account identification. The token identifies the account. Exactly one of x-account-id or x-external-account-id must be passed and must match the {accountId} path parameter. Otherwise the request is rejected (403 on a mismatch or when neither header is passed, 400 when both are).
Stored identifiers. Which identifiers are stored follows the header used:
- x-account-id: An Accounts API call confirms the account ID exists, then account_id is stored and external_account_id is stored as null - any external account ID previously stored for this account is cleared.
- x-external-account-id: A Corporate API call resolves the external account ID to a Pismo account_id, and both IDs are stored.
If the Accounts or Corporate API cannot resolve the identifier the request fails with 400 and nothing is persisted. Any other failure of those APIs fails with 500. In both cases, the interest account is left unchanged and no update event is emitted.
Request
- Base URLhttps://sandbox.pismolabs.io/interest-engine
- URLhttps://sandbox.pismolabs.io/interest-engine/v1/interest/account/{accountId}
- AuthHTTP bearer
Path parameters
Account ID. Must match the account encoded in the account token. This can be a Pismo account ID or an external account ID. A mismatch is rejected with 403 Forbidden. Maximum 60 characters.
Request body
Example request
{
"benchmark": "FED",
"margin_rate": 1.3,
"margin": 0.05,
"tax_withholding": {
"withholding_moment": "ACCRUAL",
"fee_processing_code": "001100"
}
}Response
OK
Example response
{
"benchmark": "FIXED",
"fixed_interest_rate": 0.1,
"margin_rate": 1.1,
"margin": 0.02,
"tax_withholding": {
"withholding_moment": "ACCRUAL",
"fee_processing_code": "001100",
"tax_rules": [
{
"description": "IOF",
"fixed_percentage": 0.0038
}
]
},
"taxes_exemption": true,
"interest_by_tiers": {
"type": "TERM",
"tier_calculation": "RETROACTIVE",
"tiers": [
{
"days": 30,
"amount": 1000,
"margin_rate": 1,
"fixed_interest_rate": 1.2
},
{
"days": 60,
"amount": 2000,
"margin_rate": 1,
"fixed_interest_rate": 1.3
}
]
},
"capitalization_frequency": "DAILY",
"external_account_id": "account-xyz-987",
"account_id": "8080"
}Changes
No recorded changes to this operation across all 1 revision of this API.