Simulate the Present Value of an Extraordinary Amortization
This endpoint simulates an extraordinary amortization of type present_amount without creating any event — it is a pure calculation, with no side effects. From the installments provided in installment_list, the service calculates and returns the total amount (Present Value) of the extraordinary event that would be created, plus the Present Value of each event_conciliation (type extraordinary) per installment — the integrator does not calculate Present Value on their side.
amortization_type is not sent in the request: since this is a Present Value simulation, the type is always present_amount. amount is not sent either — it is the result of the calculation. The reference_date is provided by the caller and is the only temporal reference used by the service to classify overdue installments and apply the pro-rata Present Value discount; in the simulation, the due_date is assumed to be equal to the reference_date.
The response is the ready-to-use creation payload: just remove the event_conciliation_list field — which is informational only — and send it as the body of Create Extraordinary Amortization to execute the simulated amortization.
Request
Request Body
{
"security_key": "971380d4-469e-48f6-a64b-3afb8a88109e",
"investment_key": "<investment_key>",
"reference_date": "2026-04-24",
"installment_list": [1, 2]
}
Request Body Params
| Field | Type | Required | Description |
|---|---|---|---|
security_key | string (UUID) | Yes | Unique key of the asset (security) on which the amortization will be simulated. |
investment_key | string (UUID) | Yes | Key of the target investment. Used as the proportional basis for the Present Value calculation. |
reference_date | string (date) | Yes | Reference date in YYYY-MM-DD format. Provided by the caller — the service uses it as "today" to classify overdue installments and apply the pro-rata Present Value discount. In the simulation, it is also used as the due_date. |
installment_list | array of integers (≥ 1) | Yes | List of installment_number (not UUIDs) of the target installments, with minItems: 1. The service resolves each number against the security's installment_number; non-existent numbers return EVC000007. |
Unlike creation, amortization_type, amount, and due_date are not sent: the type is always present_amount, the amount is calculated by the service, and the due_date is assumed to be equal to the reference_date.
Response
Response Body
{
"security_key": "971380d4-469e-48f6-a64b-3afb8a88109e",
"investment_key": "<investment_key>",
"amortization_type": "present_amount",
"amount": 4750.00,
"reference_date": "2026-04-24",
"due_date": "2026-04-24",
"installment_list": [1, 2],
"event_conciliation_list": [
{
"installment_number": 1,
"amount": 2400.00
},
{
"installment_number": 2,
"amount": 2350.00
}
]
}
Response Body Params
| Field | Type | Description |
|---|---|---|
security_key | string (UUID) | Asset key — echoes the value sent. |
investment_key | string (UUID) | Target investment key — echoes the value sent. |
amortization_type | string | Always present_amount — filled in by the service to compose the creation payload. |
amount | number | Total Present Value calculated for the extraordinary event (sum of the amount fields in event_conciliation_list). |
reference_date | string (date) | Reference date — echoes the value sent. |
due_date | string (date) | Target settlement date — equal to the reference_date sent. |
installment_list | array of integers | Target installments — echoes the value sent. |
event_conciliation_list | array | Present Value per installment of the event_conciliation (type extraordinary) that would be generated. For visualization only — not part of the creation payload. Object event_conciliation_list. |
The event_conciliation_list field is for visualization only — it shows the Present Value simulation for each installment and must not be included in the creation payload of the extraordinary event. To execute the simulated amortization, send the response without event_conciliation_list as the body of Create Extraordinary Amortization.
Object event_conciliation_list
| Field | Type | Description |
|---|---|---|
installment_number | integer | Number of the installment (installment_number) this conciliation event refers to. |
amount | number | Present Value calculated for the event_conciliation (type extraordinary) of this installment. |
Errors
| Code | HTTP | Meaning |
|---|---|---|
| EVC100002 | 400 | installment_list is required and cannot be empty. |
| EVC100004 | 400 | One of the provided installments does not belong to the target security. |
| EVC000007 | 404 | An integer in installment_list does not match any installment_number of the security (InstallmentNumberNotFound). |
| QIT000001 | 400 | Schema failure — for example, an installment_list item that is not an integer ≥ 1. |
| EVC100008 | 400 | There is already a pending extraordinary amortization for the installment — cancel it before simulating/creating another. |
| EVC100013 | 424 | Dependency temporarily unavailable (Failed Dependency). Transient — retry once it is restored. |
EVC100005 (insufficient amount) does not apply to the simulation — the amount is calculated by the service, not sent.
See the Error catalog for complete resolution.