curl --request POST \
--url https://api.jusfy.dev/calculators/api/calculadoras/previdenciaria-acima-teto \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"aboveCeilingParams": {
"mode": "REFUND",
"indexName": "SELIC",
"interestRateMonthly": 0.01,
"referenceDate": "2025-01-01"
},
"contributions": [
{
"accrualPeriod": "2025-01-01",
"salary": 6000,
"employmentLinkType": "REGULAR"
},
{
"accrualPeriod": "2025-01-01",
"salary": 5000,
"employmentLinkType": "REGULAR"
}
]
}
'import requests
url = "https://api.jusfy.dev/calculators/api/calculadoras/previdenciaria-acima-teto"
payload = {
"aboveCeilingParams": {
"mode": "REFUND",
"indexName": "SELIC",
"interestRateMonthly": 0.01,
"referenceDate": "2025-01-01"
},
"contributions": [
{
"accrualPeriod": "2025-01-01",
"salary": 6000,
"employmentLinkType": "REGULAR"
},
{
"accrualPeriod": "2025-01-01",
"salary": 5000,
"employmentLinkType": "REGULAR"
}
]
}
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({
aboveCeilingParams: {
mode: 'REFUND',
indexName: 'SELIC',
interestRateMonthly: 0.01,
referenceDate: '2025-01-01'
},
contributions: [
{accrualPeriod: '2025-01-01', salary: 6000, employmentLinkType: 'REGULAR'},
{accrualPeriod: '2025-01-01', salary: 5000, employmentLinkType: 'REGULAR'}
]
})
};
fetch('https://api.jusfy.dev/calculators/api/calculadoras/previdenciaria-acima-teto', 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.dev/calculators/api/calculadoras/previdenciaria-acima-teto",
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([
'aboveCeilingParams' => [
'mode' => 'REFUND',
'indexName' => 'SELIC',
'interestRateMonthly' => 0.01,
'referenceDate' => '2025-01-01'
],
'contributions' => [
[
'accrualPeriod' => '2025-01-01',
'salary' => 6000,
'employmentLinkType' => 'REGULAR'
],
[
'accrualPeriod' => '2025-01-01',
'salary' => 5000,
'employmentLinkType' => 'REGULAR'
]
]
]),
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/previdenciaria-acima-teto",
"result": {
"id": "ac_MJq8V5zK2nRdT4pLx3Fy9",
"type": "ABOVE_CEILING_REFUND",
"subtype": "REFUND",
"regime": "post-reform",
"value": 207.56,
"eligibilityDate": "2025-01-01",
"calculationDetails": {
"aboveCeilingItems": [
{
"accrualPeriod": "2025-01-01",
"competenceType": "MONTHLY",
"contributionIds": [
"c_1",
"c_2"
],
"ceiling": 8157.41,
"inssByLink": [
{
"employmentLinkId": "link_1",
"salary": 6000,
"inssPaid": 649.6
},
{
"employmentLinkId": "link_2",
"salary": 5000,
"inssPaid": 509.6
}
],
"totalInssPaid": 1159.19,
"inssDueOnCeiling": 951.63,
"excedenteContribuicao": 207.56,
"salaryTotal": 11000,
"excedenteNominal": 2842.59,
"monthsElapsed": 0,
"cumulativeIndexFactor": 1,
"valorCorrigido": 207.56,
"interestAmount": 0,
"valorFinal": 207.56
}
],
"aboveCeilingParams": {
"mode": "REFUND",
"indexName": "SELIC",
"interestRateMonthly": 0.01,
"referenceDate": "2025-01-01",
"ceilingSource": "getCeiling",
"indexFactorSource": "IndexFactor.seed",
"skippedCount": 0,
"missingFactorMonths": []
},
"aboveCeilingTotals": {
"totalNominal": 207.56,
"totalCorrigido": 207.56,
"totalJuros": 0,
"totalFinal": 207.56
}
},
"legalBasis": "Lei 8.213/91 art. 28 §5º (teto); CTN art. 168 (prescrição).",
"notes": [
"Valor estimado de restituição/reembolso ao segurado: R$ 207,56.",
"Correção monetária: SELIC (fatores históricos do seed). Juros simples: 1% a.m.",
"Janela: toda a vida contributiva.",
"Data de referência: 01/2025.",
"Resultado estimativo.",
"Leitura automática do CNIS pode exigir conferência.",
"Não substitui análise do advogado."
]
}
}Calcula a restituição/planejamento previdenciário acima do teto
Calcula o excedente de contribuição ao INSS quando a soma dos salários-de-contribuição de vínculos concomitantes ultrapassa o teto previdenciário, atualizado pelo índice escolhido (correção monetária) e juros simples. Tudo num payload único: os parâmetros do cálculo (aboveCeilingParams: modo, índice, juros, data de referência e janela de prescrição opcional) e o histórico de contribuições inline (contributions, pelo menos um item, cada um com competência, salário nominal e tipo de vínculo).
O mode define a leitura do resultado: REFUND (restituição ao segurado) ou PLANNING (planejamento/complementação). O cálculo é estimativo e não substitui a análise do advogado.
curl --request POST \
--url https://api.jusfy.dev/calculators/api/calculadoras/previdenciaria-acima-teto \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"aboveCeilingParams": {
"mode": "REFUND",
"indexName": "SELIC",
"interestRateMonthly": 0.01,
"referenceDate": "2025-01-01"
},
"contributions": [
{
"accrualPeriod": "2025-01-01",
"salary": 6000,
"employmentLinkType": "REGULAR"
},
{
"accrualPeriod": "2025-01-01",
"salary": 5000,
"employmentLinkType": "REGULAR"
}
]
}
'import requests
url = "https://api.jusfy.dev/calculators/api/calculadoras/previdenciaria-acima-teto"
payload = {
"aboveCeilingParams": {
"mode": "REFUND",
"indexName": "SELIC",
"interestRateMonthly": 0.01,
"referenceDate": "2025-01-01"
},
"contributions": [
{
"accrualPeriod": "2025-01-01",
"salary": 6000,
"employmentLinkType": "REGULAR"
},
{
"accrualPeriod": "2025-01-01",
"salary": 5000,
"employmentLinkType": "REGULAR"
}
]
}
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({
aboveCeilingParams: {
mode: 'REFUND',
indexName: 'SELIC',
interestRateMonthly: 0.01,
referenceDate: '2025-01-01'
},
contributions: [
{accrualPeriod: '2025-01-01', salary: 6000, employmentLinkType: 'REGULAR'},
{accrualPeriod: '2025-01-01', salary: 5000, employmentLinkType: 'REGULAR'}
]
})
};
fetch('https://api.jusfy.dev/calculators/api/calculadoras/previdenciaria-acima-teto', 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.dev/calculators/api/calculadoras/previdenciaria-acima-teto",
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([
'aboveCeilingParams' => [
'mode' => 'REFUND',
'indexName' => 'SELIC',
'interestRateMonthly' => 0.01,
'referenceDate' => '2025-01-01'
],
'contributions' => [
[
'accrualPeriod' => '2025-01-01',
'salary' => 6000,
'employmentLinkType' => 'REGULAR'
],
[
'accrualPeriod' => '2025-01-01',
'salary' => 5000,
'employmentLinkType' => 'REGULAR'
]
]
]),
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/previdenciaria-acima-teto",
"result": {
"id": "ac_MJq8V5zK2nRdT4pLx3Fy9",
"type": "ABOVE_CEILING_REFUND",
"subtype": "REFUND",
"regime": "post-reform",
"value": 207.56,
"eligibilityDate": "2025-01-01",
"calculationDetails": {
"aboveCeilingItems": [
{
"accrualPeriod": "2025-01-01",
"competenceType": "MONTHLY",
"contributionIds": [
"c_1",
"c_2"
],
"ceiling": 8157.41,
"inssByLink": [
{
"employmentLinkId": "link_1",
"salary": 6000,
"inssPaid": 649.6
},
{
"employmentLinkId": "link_2",
"salary": 5000,
"inssPaid": 509.6
}
],
"totalInssPaid": 1159.19,
"inssDueOnCeiling": 951.63,
"excedenteContribuicao": 207.56,
"salaryTotal": 11000,
"excedenteNominal": 2842.59,
"monthsElapsed": 0,
"cumulativeIndexFactor": 1,
"valorCorrigido": 207.56,
"interestAmount": 0,
"valorFinal": 207.56
}
],
"aboveCeilingParams": {
"mode": "REFUND",
"indexName": "SELIC",
"interestRateMonthly": 0.01,
"referenceDate": "2025-01-01",
"ceilingSource": "getCeiling",
"indexFactorSource": "IndexFactor.seed",
"skippedCount": 0,
"missingFactorMonths": []
},
"aboveCeilingTotals": {
"totalNominal": 207.56,
"totalCorrigido": 207.56,
"totalJuros": 0,
"totalFinal": 207.56
}
},
"legalBasis": "Lei 8.213/91 art. 28 §5º (teto); CTN art. 168 (prescrição).",
"notes": [
"Valor estimado de restituição/reembolso ao segurado: R$ 207,56.",
"Correção monetária: SELIC (fatores históricos do seed). Juros simples: 1% a.m.",
"Janela: toda a vida contributiva.",
"Data de referência: 01/2025.",
"Resultado estimativo.",
"Leitura automática do CNIS pode exigir conferência.",
"Não substitui análise do advogado."
]
}
}Autorizações
Corpo
Payload da calculadora previdenciária acima do teto.
Resposta
Resultado do cálculo, com os totais (nominal, corrigido, juros e final) e o detalhamento por competência (aboveCeilingItems).
The response is of type object.