curl --request POST \
--url https://api.jusfy.com.br/api/calculadoras/revisional \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"contract_number": "VEIC-2021-0042",
"amortization_system": "price",
"average_interest": 1.8,
"average_interest_periodicity": "monthly",
"contract_another_taxes": 0,
"contract_balance_index": "",
"contract_balance_period": "Mensal",
"contract_date": "2021-01-10",
"contract_goods": 0,
"contract_installments": 24,
"contract_iof": 0,
"contract_price_index": 6,
"contract_service_tax": 0,
"contract_type": 24,
"contract_value": 40000,
"differences_has_interests": false,
"differences_interest_rate": 1,
"first_installment_date": "2021-02-10",
"installment_amount": 2100,
"interest_rate": 3,
"interest_rate_periodicity": "monthly",
"own_average_interest": true,
"paid_installments": [
{
"date": "2021-02-10",
"amount": 2100,
"paid": true
},
{
"date": "2021-03-10",
"amount": 2100,
"paid": true
},
{
"date": "2021-04-10",
"amount": 2100,
"paid": true
}
],
"report_date": "2023-01-10"
}
'import requests
url = "https://api.jusfy.com.br/api/calculadoras/revisional"
payload = {
"contract_number": "VEIC-2021-0042",
"amortization_system": "price",
"average_interest": 1.8,
"average_interest_periodicity": "monthly",
"contract_another_taxes": 0,
"contract_balance_index": "",
"contract_balance_period": "Mensal",
"contract_date": "2021-01-10",
"contract_goods": 0,
"contract_installments": 24,
"contract_iof": 0,
"contract_price_index": 6,
"contract_service_tax": 0,
"contract_type": 24,
"contract_value": 40000,
"differences_has_interests": False,
"differences_interest_rate": 1,
"first_installment_date": "2021-02-10",
"installment_amount": 2100,
"interest_rate": 3,
"interest_rate_periodicity": "monthly",
"own_average_interest": True,
"paid_installments": [
{
"date": "2021-02-10",
"amount": 2100,
"paid": True
},
{
"date": "2021-03-10",
"amount": 2100,
"paid": True
},
{
"date": "2021-04-10",
"amount": 2100,
"paid": True
}
],
"report_date": "2023-01-10"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
contract_number: 'VEIC-2021-0042',
amortization_system: 'price',
average_interest: 1.8,
average_interest_periodicity: 'monthly',
contract_another_taxes: 0,
contract_balance_index: '',
contract_balance_period: 'Mensal',
contract_date: '2021-01-10',
contract_goods: 0,
contract_installments: 24,
contract_iof: 0,
contract_price_index: 6,
contract_service_tax: 0,
contract_type: 24,
contract_value: 40000,
differences_has_interests: false,
differences_interest_rate: 1,
first_installment_date: '2021-02-10',
installment_amount: 2100,
interest_rate: 3,
interest_rate_periodicity: 'monthly',
own_average_interest: true,
paid_installments: [
{date: '2021-02-10', amount: 2100, paid: true},
{date: '2021-03-10', amount: 2100, paid: true},
{date: '2021-04-10', amount: 2100, paid: true}
],
report_date: '2023-01-10'
})
};
fetch('https://api.jusfy.com.br/api/calculadoras/revisional', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.jusfy.com.br/api/calculadoras/revisional",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'contract_number' => 'VEIC-2021-0042',
'amortization_system' => 'price',
'average_interest' => 1.8,
'average_interest_periodicity' => 'monthly',
'contract_another_taxes' => 0,
'contract_balance_index' => '',
'contract_balance_period' => 'Mensal',
'contract_date' => '2021-01-10',
'contract_goods' => 0,
'contract_installments' => 24,
'contract_iof' => 0,
'contract_price_index' => 6,
'contract_service_tax' => 0,
'contract_type' => 24,
'contract_value' => 40000,
'differences_has_interests' => false,
'differences_interest_rate' => 1,
'first_installment_date' => '2021-02-10',
'installment_amount' => 2100,
'interest_rate' => 3,
'interest_rate_periodicity' => 'monthly',
'own_average_interest' => true,
'paid_installments' => [
[
'date' => '2021-02-10',
'amount' => 2100,
'paid' => true
],
[
'date' => '2021-03-10',
'amount' => 2100,
'paid' => true
],
[
'date' => '2021-04-10',
'amount' => 2100,
'paid' => true
]
],
'report_date' => '2023-01-10'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"statusCode": 200,
"message": "Cálculo concluído com sucesso",
"timestamp": "2026-06-22T18:00:00.000Z",
"path": "/api/calculadoras/revisional",
"result": {
"odds": 25,
"type": "payable",
"contract_number": "VEIC-2021-0042",
"calculation_remaining_installments": 21,
"schedule": [
{
"number": -1,
"interest": 0,
"amortization": null,
"installmentAmount": null,
"outstandingBalance": 40720,
"updatedBalance": 40720,
"due": "2020-12-10",
"paymentDate": null,
"paidAmount": null,
"differenceAmount": null,
"differenceAdjustedAmount": null,
"adjusted": null,
"delayDays": null,
"interests": null,
"total": null
},
{
"number": 0,
"interest": 732.96,
"amortization": null,
"installmentAmount": null,
"updatedBalance": 40720,
"due": "2021-01-10",
"outstandingBalance": 41452.96,
"paymentDate": null,
"paidAmount": null,
"differenceAmount": null,
"differenceAdjustedAmount": null,
"adjusted": null,
"delayDays": null,
"interests": null,
"total": null
},
{
"number": 1,
"interest": 746.15,
"amortization": 1396.17,
"installmentAmount": 2142.32,
"updatedBalance": 41452.96,
"due": "2021-02-10",
"outstandingBalance": 40056.79,
"paymentDate": "2021-02-10",
"paidAmount": 2100,
"differenceAmount": -42.32,
"differenceAdjustedAmount": -48.51,
"adjustedPercentage": 14.63,
"delayDays": 0,
"interests": 0,
"total": -48.51
},
{
"number": 24,
"interest": 37.88,
"amortization": 2104.44,
"installmentAmount": 2142.32,
"updatedBalance": 2104.54,
"due": "2023-01-10",
"outstandingBalance": 0.1,
"paymentDate": null,
"paidAmount": null,
"differenceAmount": -2142.32,
"differenceAdjustedAmount": -2142.32,
"adjustedPercentage": 0,
"delayDays": 0,
"interests": 0,
"total": -2142.32
}
],
"refinancing_schedule": {
"schedule": [
{
"number": 0,
"interest": 0,
"amortization": null,
"installmentAmount": null,
"outstandingBalance": 37332.96,
"updatedBalance": 37332.96,
"due": "2021-04-10"
},
{
"number": 1,
"interest": 671.99,
"amortization": 1478.65,
"installmentAmount": 2150.64,
"updatedBalance": 37332.96,
"due": "2021-05-10",
"outstandingBalance": 35854.31
},
{
"number": 21,
"interest": 38.03,
"amortization": 2112.61,
"installmentAmount": 2150.64,
"updatedBalance": 2112.61,
"due": "2023-01-10",
"outstandingBalance": 0
}
],
"summary": {
"firstInstallmentAmount": 2150.64
},
"totalInstallments": 45163.44,
"totalInterests": 7830.48,
"totalAmortizations": 37332.96
},
"contract_date": "2021-01-10",
"first_installment_date": "2021-02-10",
"differences_has_interests": false,
"differences_interest_rate": 1,
"total_amortizations": 41452.86,
"total_installments": 51415.68,
"total_interests": 10695.78,
"total_paid_amount": 6300,
"total_difference_amount": -45115.68,
"calculation_differences_total": -46777.67,
"calculation_adjusted_amounts": -46777.67,
"calculations_interests_total": 0,
"contract_another_taxes": 0,
"contract_service_tax": 0,
"contract_iof": 0,
"grace_period": 1,
"gracePeriodInDays": 0,
"amortization_system": "PRICE",
"report_date": "2023-01-10",
"adjustment_until": " (correção até 10/2022)",
"differences_index": true,
"differences_index_name": "IPCA (GERAL)",
"refinancing_balance": 37188.61,
"differences_paid": -144.35,
"refinancing_amount": 37332.96,
"petition_filename": "aquisicao-veiculos.docx",
"sector": "",
"contract_type": "Aquisição de veículos",
"contract_type_code_monthly": "25447",
"contract_type_code_annually": "20728",
"bacen_average_interest_monthly": 1.8,
"bacen_average_interest_annually": 23.87205315755283,
"bacen_interest_percentage_increase": 7.777777777777772,
"contract_amount": 40000,
"contract_goods": 40000,
"contract_installments": 24,
"contract_paid_installments": 3,
"contract_installment_amount": 2100,
"contract_amount_cost_effective": 50400,
"contract_interest_rate_monthly": 1.94,
"contract_interest_rate_annually": 25.931840613381894,
"calculation_receivable_amount": 37332.96,
"calculation_payable_amount": 37332.96,
"calculation_difference": 37332.96,
"calculation_installment_adjusted": 2142.32,
"calculation_refinancing_installments_amount": 2150.64,
"own_average_interest": true
}
}Calcula a revisão de contrato (revisional)
Revisa um contrato de financiamento/empréstimo: recalcula a tabela de amortização (price ou sac) aplicando a taxa média de mercado, apura as diferenças (a pagar ou a receber) e, quando o resultado é a pagar (type: "payable"), monta o cronograma de refinanciamento. Informe os dados do contrato (valor, parcelas, taxas e datas), a taxa média (average_interest/own_average_interest) e as parcelas pagas (paid_installments). A resposta traz o cronograma recalculado (schedule), os totais e os valores apurados.
Os campos contract_type e contract_price_index referenciam índices do backend (GET /api/calculadoras/indices-correcao) e devem existir; caso contrário o cálculo falha.
curl --request POST \
--url https://api.jusfy.com.br/api/calculadoras/revisional \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"contract_number": "VEIC-2021-0042",
"amortization_system": "price",
"average_interest": 1.8,
"average_interest_periodicity": "monthly",
"contract_another_taxes": 0,
"contract_balance_index": "",
"contract_balance_period": "Mensal",
"contract_date": "2021-01-10",
"contract_goods": 0,
"contract_installments": 24,
"contract_iof": 0,
"contract_price_index": 6,
"contract_service_tax": 0,
"contract_type": 24,
"contract_value": 40000,
"differences_has_interests": false,
"differences_interest_rate": 1,
"first_installment_date": "2021-02-10",
"installment_amount": 2100,
"interest_rate": 3,
"interest_rate_periodicity": "monthly",
"own_average_interest": true,
"paid_installments": [
{
"date": "2021-02-10",
"amount": 2100,
"paid": true
},
{
"date": "2021-03-10",
"amount": 2100,
"paid": true
},
{
"date": "2021-04-10",
"amount": 2100,
"paid": true
}
],
"report_date": "2023-01-10"
}
'import requests
url = "https://api.jusfy.com.br/api/calculadoras/revisional"
payload = {
"contract_number": "VEIC-2021-0042",
"amortization_system": "price",
"average_interest": 1.8,
"average_interest_periodicity": "monthly",
"contract_another_taxes": 0,
"contract_balance_index": "",
"contract_balance_period": "Mensal",
"contract_date": "2021-01-10",
"contract_goods": 0,
"contract_installments": 24,
"contract_iof": 0,
"contract_price_index": 6,
"contract_service_tax": 0,
"contract_type": 24,
"contract_value": 40000,
"differences_has_interests": False,
"differences_interest_rate": 1,
"first_installment_date": "2021-02-10",
"installment_amount": 2100,
"interest_rate": 3,
"interest_rate_periodicity": "monthly",
"own_average_interest": True,
"paid_installments": [
{
"date": "2021-02-10",
"amount": 2100,
"paid": True
},
{
"date": "2021-03-10",
"amount": 2100,
"paid": True
},
{
"date": "2021-04-10",
"amount": 2100,
"paid": True
}
],
"report_date": "2023-01-10"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
contract_number: 'VEIC-2021-0042',
amortization_system: 'price',
average_interest: 1.8,
average_interest_periodicity: 'monthly',
contract_another_taxes: 0,
contract_balance_index: '',
contract_balance_period: 'Mensal',
contract_date: '2021-01-10',
contract_goods: 0,
contract_installments: 24,
contract_iof: 0,
contract_price_index: 6,
contract_service_tax: 0,
contract_type: 24,
contract_value: 40000,
differences_has_interests: false,
differences_interest_rate: 1,
first_installment_date: '2021-02-10',
installment_amount: 2100,
interest_rate: 3,
interest_rate_periodicity: 'monthly',
own_average_interest: true,
paid_installments: [
{date: '2021-02-10', amount: 2100, paid: true},
{date: '2021-03-10', amount: 2100, paid: true},
{date: '2021-04-10', amount: 2100, paid: true}
],
report_date: '2023-01-10'
})
};
fetch('https://api.jusfy.com.br/api/calculadoras/revisional', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.jusfy.com.br/api/calculadoras/revisional",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'contract_number' => 'VEIC-2021-0042',
'amortization_system' => 'price',
'average_interest' => 1.8,
'average_interest_periodicity' => 'monthly',
'contract_another_taxes' => 0,
'contract_balance_index' => '',
'contract_balance_period' => 'Mensal',
'contract_date' => '2021-01-10',
'contract_goods' => 0,
'contract_installments' => 24,
'contract_iof' => 0,
'contract_price_index' => 6,
'contract_service_tax' => 0,
'contract_type' => 24,
'contract_value' => 40000,
'differences_has_interests' => false,
'differences_interest_rate' => 1,
'first_installment_date' => '2021-02-10',
'installment_amount' => 2100,
'interest_rate' => 3,
'interest_rate_periodicity' => 'monthly',
'own_average_interest' => true,
'paid_installments' => [
[
'date' => '2021-02-10',
'amount' => 2100,
'paid' => true
],
[
'date' => '2021-03-10',
'amount' => 2100,
'paid' => true
],
[
'date' => '2021-04-10',
'amount' => 2100,
'paid' => true
]
],
'report_date' => '2023-01-10'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"statusCode": 200,
"message": "Cálculo concluído com sucesso",
"timestamp": "2026-06-22T18:00:00.000Z",
"path": "/api/calculadoras/revisional",
"result": {
"odds": 25,
"type": "payable",
"contract_number": "VEIC-2021-0042",
"calculation_remaining_installments": 21,
"schedule": [
{
"number": -1,
"interest": 0,
"amortization": null,
"installmentAmount": null,
"outstandingBalance": 40720,
"updatedBalance": 40720,
"due": "2020-12-10",
"paymentDate": null,
"paidAmount": null,
"differenceAmount": null,
"differenceAdjustedAmount": null,
"adjusted": null,
"delayDays": null,
"interests": null,
"total": null
},
{
"number": 0,
"interest": 732.96,
"amortization": null,
"installmentAmount": null,
"updatedBalance": 40720,
"due": "2021-01-10",
"outstandingBalance": 41452.96,
"paymentDate": null,
"paidAmount": null,
"differenceAmount": null,
"differenceAdjustedAmount": null,
"adjusted": null,
"delayDays": null,
"interests": null,
"total": null
},
{
"number": 1,
"interest": 746.15,
"amortization": 1396.17,
"installmentAmount": 2142.32,
"updatedBalance": 41452.96,
"due": "2021-02-10",
"outstandingBalance": 40056.79,
"paymentDate": "2021-02-10",
"paidAmount": 2100,
"differenceAmount": -42.32,
"differenceAdjustedAmount": -48.51,
"adjustedPercentage": 14.63,
"delayDays": 0,
"interests": 0,
"total": -48.51
},
{
"number": 24,
"interest": 37.88,
"amortization": 2104.44,
"installmentAmount": 2142.32,
"updatedBalance": 2104.54,
"due": "2023-01-10",
"outstandingBalance": 0.1,
"paymentDate": null,
"paidAmount": null,
"differenceAmount": -2142.32,
"differenceAdjustedAmount": -2142.32,
"adjustedPercentage": 0,
"delayDays": 0,
"interests": 0,
"total": -2142.32
}
],
"refinancing_schedule": {
"schedule": [
{
"number": 0,
"interest": 0,
"amortization": null,
"installmentAmount": null,
"outstandingBalance": 37332.96,
"updatedBalance": 37332.96,
"due": "2021-04-10"
},
{
"number": 1,
"interest": 671.99,
"amortization": 1478.65,
"installmentAmount": 2150.64,
"updatedBalance": 37332.96,
"due": "2021-05-10",
"outstandingBalance": 35854.31
},
{
"number": 21,
"interest": 38.03,
"amortization": 2112.61,
"installmentAmount": 2150.64,
"updatedBalance": 2112.61,
"due": "2023-01-10",
"outstandingBalance": 0
}
],
"summary": {
"firstInstallmentAmount": 2150.64
},
"totalInstallments": 45163.44,
"totalInterests": 7830.48,
"totalAmortizations": 37332.96
},
"contract_date": "2021-01-10",
"first_installment_date": "2021-02-10",
"differences_has_interests": false,
"differences_interest_rate": 1,
"total_amortizations": 41452.86,
"total_installments": 51415.68,
"total_interests": 10695.78,
"total_paid_amount": 6300,
"total_difference_amount": -45115.68,
"calculation_differences_total": -46777.67,
"calculation_adjusted_amounts": -46777.67,
"calculations_interests_total": 0,
"contract_another_taxes": 0,
"contract_service_tax": 0,
"contract_iof": 0,
"grace_period": 1,
"gracePeriodInDays": 0,
"amortization_system": "PRICE",
"report_date": "2023-01-10",
"adjustment_until": " (correção até 10/2022)",
"differences_index": true,
"differences_index_name": "IPCA (GERAL)",
"refinancing_balance": 37188.61,
"differences_paid": -144.35,
"refinancing_amount": 37332.96,
"petition_filename": "aquisicao-veiculos.docx",
"sector": "",
"contract_type": "Aquisição de veículos",
"contract_type_code_monthly": "25447",
"contract_type_code_annually": "20728",
"bacen_average_interest_monthly": 1.8,
"bacen_average_interest_annually": 23.87205315755283,
"bacen_interest_percentage_increase": 7.777777777777772,
"contract_amount": 40000,
"contract_goods": 40000,
"contract_installments": 24,
"contract_paid_installments": 3,
"contract_installment_amount": 2100,
"contract_amount_cost_effective": 50400,
"contract_interest_rate_monthly": 1.94,
"contract_interest_rate_annually": 25.931840613381894,
"calculation_receivable_amount": 37332.96,
"calculation_payable_amount": 37332.96,
"calculation_difference": 37332.96,
"calculation_installment_adjusted": 2142.32,
"calculation_refinancing_installments_amount": 2150.64,
"own_average_interest": true
}
}Corpo
Payload da calculadora revisional.
Payload da revisão de contrato. Informe os dados do contrato (valor, parcelas, taxas, datas e tipo), a taxa média de mercado e as parcelas pagas. A resposta traz a tabela de amortização recalculada, as diferenças apuradas (a pagar ou a receber), os totais e, quando aplicável, o cronograma de refinanciamento.
Os campos contract_type e contract_price_index referenciam índices (Index) do backend (obtidos em GET /api/calculadoras/indices-correcao) e devem existir; caso contrário o cálculo falha.
Resposta
Resultado da revisão, com cronograma recalculado, diferenças e totais.
The response is of type object.