{"openapi":"3.0.3","info":{"title":"Falazuki Finance API","version":"1.0.0","description":"API pública e gratuita de dados financeiros do Brasil, mantida por [Fala, Zuki!](https://www.falazuki.com).\n\n- **Calculadoras** — 38 cálculos de finanças pessoais e trabalhistas (salário líquido, rescisão, financiamento, investimentos, MEI, Simples Nacional).\n- **Indicadores** — Selic, CDI, IPCA, IGP-M, poupança, dólar, euro e salário mínimo, com séries históricas do Banco Central.\n- **Salários** — estatísticas reais por profissão a partir do CAGED do Ministério do Trabalho.\n\nSem chave de API e sem cadastro. O limite é de 100 requisições por minuto por IP.\n\nTodo endpoint de cálculo aceita **GET** com query params (linkável, fácil de testar no navegador) e **POST** com corpo JSON. Os dois devolvem o mesmo payload.","contact":{"name":"Fala, Zuki!","url":"https://www.falazuki.com/contato"},"license":{"name":"Uso livre com atribuição"}},"servers":[{"url":"https://api.falazuki.com","description":"Produção"}],"tags":[{"name":"Calculadoras","description":"Cálculos financeiros e trabalhistas."},{"name":"Indicadores","description":"Taxas econômicas do Banco Central."},{"name":"Salários","description":"Dados salariais do CAGED."},{"name":"Sistema","description":"Health check."}],"paths":{"/v1/health":{"get":{"tags":["Sistema"],"summary":"Health check da API.","operationId":"health","responses":{"200":{"description":"API no ar","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/calc":{"get":{"tags":["Calculadoras"],"summary":"Lista todos os calculadores com seus schemas de entrada.","operationId":"listCalculators","responses":{"200":{"description":"Índice de calculadores","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer"},"currency":{"type":"string"},"calculators":{"type":"array","items":{"type":"object"}}}}}}}}}},"/v1/rates":{"get":{"tags":["Indicadores"],"summary":"Taxas econômicas atuais — Selic, CDI, IPCA, poupança, dólar, euro e salário mínimo.","description":"Fonte: Banco Central do Brasil. Atualiza uma vez por dia. `stale: true` indica que o BCB estava fora do ar e a resposta veio do último snapshot salvo.","operationId":"getRates","responses":{"200":{"description":"Taxas atuais","content":{"application/json":{"schema":{"type":"object","properties":{"capturedAt":{"type":"string","format":"date"},"source":{"type":"string","enum":["BCB","fallback"]},"stale":{"type":"boolean"},"rates":{"type":"object","properties":{"selic":{"type":"object","properties":{"annual":{"type":"number","nullable":true}}},"cdi":{"type":"object","properties":{"annual":{"type":"number","nullable":true}}},"ipca":{"type":"object","properties":{"last12Months":{"type":"number","nullable":true}}},"poupanca":{"type":"object","properties":{"annual":{"type":"number","nullable":true}}},"dollar":{"type":"object","properties":{"sell":{"type":"number","nullable":true}}},"euro":{"type":"object","properties":{"sell":{"type":"number","nullable":true}}},"minimumWage":{"type":"number","nullable":true}}}}}}}},"503":{"description":"Taxas indisponíveis","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/rates/history":{"get":{"tags":["Indicadores"],"summary":"Série histórica de um indicador econômico.","description":"Fonte: séries temporais (SGS) do Banco Central.","operationId":"getRatesHistory","parameters":[{"name":"metric","in":"query","required":true,"schema":{"type":"string","enum":["selic","cdi","ipca","ipcaMonthly","igpm","igpmMonthly","dollar","euro","minimumWage"]}},{"name":"from","in":"query","required":false,"description":"Data inicial ISO (YYYY-MM-DD).","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Data final ISO (YYYY-MM-DD). Padrão: hoje.","schema":{"type":"string","format":"date"}},{"name":"aggregate","in":"query","required":false,"schema":{"type":"string","enum":["daily","monthly","yearly"],"default":"daily"}}],"responses":{"200":{"description":"Série histórica","content":{"application/json":{"schema":{"type":"object","properties":{"metric":{"type":"string"},"from":{"type":"string","format":"date"},"to":{"type":"string","format":"date"},"aggregate":{"type":"string"},"points":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date"},"value":{"type":"number"}}}}}}}}},"400":{"description":"Métrica ou intervalo inválido","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/salary":{"get":{"tags":["Salários"],"summary":"Estatísticas salariais de uma profissão (família CBO).","description":"Fonte: CAGED / Ministério do Trabalho, janela de 12 meses. Mediana, p25, p75, estados que mais empregam e distribuição por escolaridade. Informe `cbo` ou `slug`.","operationId":"getSalary","parameters":[{"name":"cbo","in":"query","required":false,"description":"Família CBO de 4 dígitos, ex. 2124.","schema":{"type":"string","pattern":"^\\d{4}$"}},{"name":"slug","in":"query","required":false,"description":"Slug da profissão, ex. analistas-de-sistemas.","schema":{"type":"string"}}],"responses":{"200":{"description":"Estatísticas da profissão","content":{"application/json":{"schema":{"type":"object","properties":{"cbo":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"totalAdmissions":{"type":"integer"},"totalDismissals":{"type":"integer"},"avgSalary":{"type":"number","nullable":true},"medianSalary":{"type":"number","nullable":true},"p25Salary":{"type":"number","nullable":true},"p75Salary":{"type":"number","nullable":true},"topStates":{"type":"array","items":{"type":"object","properties":{"uf":{"type":"string"},"count":{"type":"integer"}}}}}}}}},"400":{"description":"Faltou cbo ou slug","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"404":{"description":"Profissão não encontrada","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/salary/list":{"get":{"tags":["Salários"],"summary":"Lista as profissões disponíveis com salário mediano.","operationId":"listSalaries","responses":{"200":{"description":"Profissões","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/calc/car-ownership-cost":{"get":{"tags":["Calculadoras"],"summary":"Calcula o custo mensal real de ter um carro — IPVA, seguro, combustível, manutenção, depreciação, estacionamento.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_car_ownership_cost_get","parameters":[{"name":"car_value","in":"query","required":true,"description":"Valor FIPE do carro em R$","schema":{"description":"Valor FIPE do carro em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"monthly_km","in":"query","required":false,"description":"Km rodados por mês","schema":{"description":"Km rodados por mês","default":1000,"type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"fuel_price","in":"query","required":false,"description":"Preço do litro de combustível em R$","schema":{"description":"Preço do litro de combustível em R$","default":6,"type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"km_per_liter","in":"query","required":false,"description":"Consumo em km/litro","schema":{"description":"Consumo em km/litro","default":10,"type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"has_financing","in":"query","required":false,"description":"Está financiado?","schema":{"description":"Está financiado?","default":false,"type":"boolean"}},{"name":"monthly_financing","in":"query","required":false,"description":"Parcela do financiamento em R$","schema":{"description":"Parcela do financiamento em R$","default":0,"type":"number","minimum":0}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula o custo mensal real de ter um carro — IPVA, seguro, combustível, manutenção, depreciação, estacionamento.","operationId":"calculate_car_ownership_cost_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"car_value":{"description":"Valor FIPE do carro em R$","type":"number","minimum":0,"exclusiveMinimum":true},"monthly_km":{"description":"Km rodados por mês","default":1000,"type":"number","minimum":0,"exclusiveMinimum":true},"fuel_price":{"description":"Preço do litro de combustível em R$","default":6,"type":"number","minimum":0,"exclusiveMinimum":true},"km_per_liter":{"description":"Consumo em km/litro","default":10,"type":"number","minimum":0,"exclusiveMinimum":true},"has_financing":{"description":"Está financiado?","default":false,"type":"boolean"},"monthly_financing":{"description":"Parcela do financiamento em R$","default":0,"type":"number","minimum":0}},"required":["car_value"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/fgts":{"get":{"tags":["Calculadoras"],"summary":"Calcula saldo do FGTS, rendimento, saque-aniversário e multa rescisória de 40%. Atualizado 2026.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_fgts_get","parameters":[{"name":"salary","in":"query","required":true,"description":"Salário bruto mensal em R$","schema":{"description":"Salário bruto mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"months_worked","in":"query","required":true,"description":"Meses trabalhados","schema":{"description":"Meses trabalhados","type":"integer","exclusiveMinimum":true,"maximum":600}},{"name":"include_anniversary_withdrawal","in":"query","required":false,"description":"Calcular saque-aniversário?","schema":{"description":"Calcular saque-aniversário?","default":false,"type":"boolean"}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula saldo do FGTS, rendimento, saque-aniversário e multa rescisória de 40%. Atualizado 2026.","operationId":"calculate_fgts_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"salary":{"description":"Salário bruto mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true},"months_worked":{"description":"Meses trabalhados","type":"integer","exclusiveMinimum":true,"maximum":600},"include_anniversary_withdrawal":{"description":"Calcular saque-aniversário?","default":false,"type":"boolean"}},"required":["salary","months_worked"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/thirteenth-salary":{"get":{"tags":["Calculadoras"],"summary":"Calcula o décimo terceiro salário — 1ª parcela, 2ª parcela com descontos de INSS e IRRF.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_thirteenth_salary_get","parameters":[{"name":"salary","in":"query","required":true,"description":"Salário bruto mensal em R$","schema":{"description":"Salário bruto mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"months_worked","in":"query","required":true,"description":"Meses trabalhados no ano (1-12)","schema":{"description":"Meses trabalhados no ano (1-12)","type":"integer","minimum":1,"maximum":12}},{"name":"dependents","in":"query","required":false,"description":"Dependentes para IRRF","schema":{"description":"Dependentes para IRRF","default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula o décimo terceiro salário — 1ª parcela, 2ª parcela com descontos de INSS e IRRF.","operationId":"calculate_thirteenth_salary_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"salary":{"description":"Salário bruto mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true},"months_worked":{"description":"Meses trabalhados no ano (1-12)","type":"integer","minimum":1,"maximum":12},"dependents":{"description":"Dependentes para IRRF","default":0,"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["salary","months_worked"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/financing":{"get":{"tags":["Calculadoras"],"summary":"Calcula financiamento imobiliário SAC ou Price. Parcelas, juros totais e valor total pago.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_financing_get","parameters":[{"name":"property_value","in":"query","required":true,"description":"Valor do imóvel em R$","schema":{"description":"Valor do imóvel em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"down_payment","in":"query","required":true,"description":"Valor da entrada em R$","schema":{"description":"Valor da entrada em R$","type":"number","minimum":0}},{"name":"annual_rate","in":"query","required":true,"description":"Taxa de juros anual (ex: 10 = 10% ao ano)","schema":{"description":"Taxa de juros anual (ex: 10 = 10% ao ano)","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"months","in":"query","required":true,"description":"Prazo em meses","schema":{"description":"Prazo em meses","type":"integer","exclusiveMinimum":true,"maximum":420}},{"name":"system","in":"query","required":true,"description":"Sistema de amortização","schema":{"description":"Sistema de amortização","type":"string","enum":["sac","price"]}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula financiamento imobiliário SAC ou Price. Parcelas, juros totais e valor total pago.","operationId":"calculate_financing_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"property_value":{"description":"Valor do imóvel em R$","type":"number","minimum":0,"exclusiveMinimum":true},"down_payment":{"description":"Valor da entrada em R$","type":"number","minimum":0},"annual_rate":{"description":"Taxa de juros anual (ex: 10 = 10% ao ano)","type":"number","minimum":0,"exclusiveMinimum":true},"months":{"description":"Prazo em meses","type":"integer","exclusiveMinimum":true,"maximum":420},"system":{"description":"Sistema de amortização","type":"string","enum":["sac","price"]}},"required":["property_value","down_payment","annual_rate","months","system"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/severance":{"get":{"tags":["Calculadoras"],"summary":"Calcula rescisão trabalhista CLT — demissão sem justa causa, pedido de demissão ou acordo. Inclui saldo de salário, férias, 13º, aviso prévio e multa FGTS, com INSS e IRRF sobre as verbas tributáveis.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_severance_get","parameters":[{"name":"salary","in":"query","required":true,"description":"Salário bruto mensal em R$","schema":{"description":"Salário bruto mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"months_worked","in":"query","required":true,"description":"Meses trabalhados na empresa. Define os dias de aviso prévio; para 13º e férias proporcionais os avos são limitados a 12.","schema":{"description":"Meses trabalhados na empresa. Define os dias de aviso prévio; para 13º e férias proporcionais os avos são limitados a 12.","type":"integer","exclusiveMinimum":true,"maximum":9007199254740991}},{"name":"type","in":"query","required":true,"description":"Tipo de rescisão","schema":{"description":"Tipo de rescisão","type":"string","enum":["sem_justa_causa","pedido_demissao","acordo"]}},{"name":"days_worked_in_month","in":"query","required":false,"description":"Dias trabalhados no mês da rescisão","schema":{"description":"Dias trabalhados no mês da rescisão","default":15,"type":"integer","minimum":0,"maximum":31}},{"name":"fgts_balance","in":"query","required":false,"description":"Saldo do FGTS acumulado em R$","schema":{"description":"Saldo do FGTS acumulado em R$","default":0,"type":"number","minimum":0}},{"name":"dependents","in":"query","required":false,"description":"Dependentes para dedução do IRRF","schema":{"description":"Dependentes para dedução do IRRF","default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula rescisão trabalhista CLT — demissão sem justa causa, pedido de demissão ou acordo. Inclui saldo de salário, férias, 13º, aviso prévio e multa FGTS, com INSS e IRRF sobre as verbas tributáveis.","operationId":"calculate_severance_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"salary":{"description":"Salário bruto mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true},"months_worked":{"description":"Meses trabalhados na empresa. Define os dias de aviso prévio; para 13º e férias proporcionais os avos são limitados a 12.","type":"integer","exclusiveMinimum":true,"maximum":9007199254740991},"type":{"description":"Tipo de rescisão","type":"string","enum":["sem_justa_causa","pedido_demissao","acordo"]},"days_worked_in_month":{"description":"Dias trabalhados no mês da rescisão","default":15,"type":"integer","minimum":0,"maximum":31},"fgts_balance":{"description":"Saldo do FGTS acumulado em R$","default":0,"type":"number","minimum":0},"dependents":{"description":"Dependentes para dedução do IRRF","default":0,"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["salary","months_worked","type"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/vacation-pay":{"get":{"tags":["Calculadoras"],"summary":"Calcula férias CLT — valor das férias + 1/3 constitucional + abono pecuniário, com desconto de INSS.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_vacation_pay_get","parameters":[{"name":"salary","in":"query","required":true,"description":"Salário bruto mensal em R$","schema":{"description":"Salário bruto mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"days","in":"query","required":false,"description":"Dias de férias (máx 30)","schema":{"description":"Dias de férias (máx 30)","default":30,"type":"integer","minimum":1,"maximum":30}},{"name":"sell_days","in":"query","required":false,"description":"Dias vendidos (máx 10)","schema":{"description":"Dias vendidos (máx 10)","default":0,"type":"integer","minimum":0,"maximum":10}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula férias CLT — valor das férias + 1/3 constitucional + abono pecuniário, com desconto de INSS.","operationId":"calculate_vacation_pay_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"salary":{"description":"Salário bruto mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true},"days":{"description":"Dias de férias (máx 30)","default":30,"type":"integer","minimum":1,"maximum":30},"sell_days":{"description":"Dias vendidos (máx 10)","default":0,"type":"integer","minimum":0,"maximum":10}},"required":["salary"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/rent-vs-buy":{"get":{"tags":["Calculadoras"],"summary":"Compara alugar vs comprar imóvel considerando custo de oportunidade, valorização e custos totais.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_rent_vs_buy_get","parameters":[{"name":"property_value","in":"query","required":true,"description":"Valor do imóvel em R$","schema":{"description":"Valor do imóvel em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"down_payment","in":"query","required":true,"description":"Entrada disponível em R$","schema":{"description":"Entrada disponível em R$","type":"number","minimum":0}},{"name":"monthly_rent","in":"query","required":true,"description":"Aluguel mensal equivalente em R$","schema":{"description":"Aluguel mensal equivalente em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"financing_rate","in":"query","required":false,"description":"Taxa de juros anual do financiamento (%)","schema":{"description":"Taxa de juros anual do financiamento (%)","default":10,"type":"number","minimum":0,"maximum":100}},{"name":"financing_months","in":"query","required":false,"description":"Prazo do financiamento em meses","schema":{"description":"Prazo do financiamento em meses","default":360,"type":"integer","exclusiveMinimum":true,"maximum":600}},{"name":"property_appreciation","in":"query","required":false,"description":"Valorização anual do imóvel (%)","schema":{"description":"Valorização anual do imóvel (%)","default":3,"type":"number","minimum":-100,"exclusiveMinimum":true,"maximum":100}},{"name":"investment_return","in":"query","required":false,"description":"Retorno anual se investir a entrada (%)","schema":{"description":"Retorno anual se investir a entrada (%)","default":10,"type":"number","minimum":-100,"exclusiveMinimum":true,"maximum":100}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Compara alugar vs comprar imóvel considerando custo de oportunidade, valorização e custos totais.","operationId":"calculate_rent_vs_buy_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"property_value":{"description":"Valor do imóvel em R$","type":"number","minimum":0,"exclusiveMinimum":true},"down_payment":{"description":"Entrada disponível em R$","type":"number","minimum":0},"monthly_rent":{"description":"Aluguel mensal equivalente em R$","type":"number","minimum":0,"exclusiveMinimum":true},"financing_rate":{"description":"Taxa de juros anual do financiamento (%)","default":10,"type":"number","minimum":0,"maximum":100},"financing_months":{"description":"Prazo do financiamento em meses","default":360,"type":"integer","exclusiveMinimum":true,"maximum":600},"property_appreciation":{"description":"Valorização anual do imóvel (%)","default":3,"type":"number","minimum":-100,"exclusiveMinimum":true,"maximum":100},"investment_return":{"description":"Retorno anual se investir a entrada (%)","default":10,"type":"number","minimum":-100,"exclusiveMinimum":true,"maximum":100}},"required":["property_value","down_payment","monthly_rent"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/financial-independence":{"get":{"tags":["Calculadoras"],"summary":"Calcula quanto você precisa acumular para viver de renda (independência financeira) usando a regra dos 4% ou taxa personalizada.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_financial_independence_get","parameters":[{"name":"monthly_expenses","in":"query","required":true,"description":"Gastos mensais desejados em R$","schema":{"description":"Gastos mensais desejados em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"current_savings","in":"query","required":false,"description":"Patrimônio já acumulado em R$","schema":{"description":"Patrimônio já acumulado em R$","default":0,"type":"number","minimum":0}},{"name":"monthly_investment","in":"query","required":false,"description":"Quanto investe por mês em R$","schema":{"description":"Quanto investe por mês em R$","default":0,"type":"number","minimum":0}},{"name":"annual_return","in":"query","required":false,"description":"Retorno real anual esperado (% acima da inflação, padrão 8%)","schema":{"description":"Retorno real anual esperado (% acima da inflação, padrão 8%)","default":8,"type":"number","minimum":-100,"exclusiveMinimum":true,"maximum":100}},{"name":"withdrawal_rate","in":"query","required":false,"description":"Taxa de retirada anual segura (%, padrão 4%)","schema":{"description":"Taxa de retirada anual segura (%, padrão 4%)","default":4,"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":100}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula quanto você precisa acumular para viver de renda (independência financeira) usando a regra dos 4% ou taxa personalizada.","operationId":"calculate_financial_independence_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"monthly_expenses":{"description":"Gastos mensais desejados em R$","type":"number","minimum":0,"exclusiveMinimum":true},"current_savings":{"description":"Patrimônio já acumulado em R$","default":0,"type":"number","minimum":0},"monthly_investment":{"description":"Quanto investe por mês em R$","default":0,"type":"number","minimum":0},"annual_return":{"description":"Retorno real anual esperado (% acima da inflação, padrão 8%)","default":8,"type":"number","minimum":-100,"exclusiveMinimum":true,"maximum":100},"withdrawal_rate":{"description":"Taxa de retirada anual segura (%, padrão 4%)","default":4,"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":100}},"required":["monthly_expenses"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/consorcio":{"get":{"tags":["Calculadoras"],"summary":"Simula consórcio — parcela mensal, custo total com taxa de administração, e comparação com financiamento.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_consorcio_get","parameters":[{"name":"asset_value","in":"query","required":true,"description":"Valor do bem (carta de crédito) em R$","schema":{"description":"Valor do bem (carta de crédito) em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"months","in":"query","required":true,"description":"Prazo em meses","schema":{"description":"Prazo em meses","type":"integer","exclusiveMinimum":true,"maximum":600}},{"name":"admin_fee","in":"query","required":false,"description":"Taxa de administração total (%, padrão 18%)","schema":{"description":"Taxa de administração total (%, padrão 18%)","default":18,"type":"number","minimum":0,"maximum":100}},{"name":"insurance_fee","in":"query","required":false,"description":"Taxa de seguro total (%, padrão 2%)","schema":{"description":"Taxa de seguro total (%, padrão 2%)","default":2,"type":"number","minimum":0,"maximum":100}},{"name":"financing_annual_rate","in":"query","required":false,"description":"Taxa anual do financiamento concorrente, em % (padrão 24, ordem de grandeza do crédito para veículo a pessoa física). Era fixa em 10%, taxa que não existe no mercado com a Selic atual.","schema":{"description":"Taxa anual do financiamento concorrente, em % (padrão 24, ordem de grandeza do crédito para veículo a pessoa física). Era fixa em 10%, taxa que não existe no mercado com a Selic atual.","default":24,"type":"number","minimum":0,"maximum":200}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Simula consórcio — parcela mensal, custo total com taxa de administração, e comparação com financiamento.","operationId":"calculate_consorcio_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"asset_value":{"description":"Valor do bem (carta de crédito) em R$","type":"number","minimum":0,"exclusiveMinimum":true},"months":{"description":"Prazo em meses","type":"integer","exclusiveMinimum":true,"maximum":600},"admin_fee":{"description":"Taxa de administração total (%, padrão 18%)","default":18,"type":"number","minimum":0,"maximum":100},"insurance_fee":{"description":"Taxa de seguro total (%, padrão 2%)","default":2,"type":"number","minimum":0,"maximum":100},"financing_annual_rate":{"description":"Taxa anual do financiamento concorrente, em % (padrão 24, ordem de grandeza do crédito para veículo a pessoa física). Era fixa em 10%, taxa que não existe no mercado com a Selic atual.","default":24,"type":"number","minimum":0,"maximum":200}},"required":["asset_value","months"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/dividend-yield":{"get":{"tags":["Calculadoras"],"summary":"Calcula rendimento de dividendos — quanto precisa investir pra receber X por mês em dividendos de ações ou FIIs.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_dividend_yield_get","parameters":[{"name":"target_monthly_income","in":"query","required":true,"description":"Renda mensal desejada em dividendos (R$)","schema":{"description":"Renda mensal desejada em dividendos (R$)","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"annual_yield","in":"query","required":false,"description":"Dividend yield anual esperado (%, padrão 8%)","schema":{"description":"Dividend yield anual esperado (%, padrão 8%)","default":8,"type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"current_investment","in":"query","required":false,"description":"Quanto já tem investido em R$","schema":{"description":"Quanto já tem investido em R$","default":0,"type":"number","minimum":0}},{"name":"monthly_contribution","in":"query","required":false,"description":"Aporte mensal em R$","schema":{"description":"Aporte mensal em R$","default":0,"type":"number","minimum":0}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula rendimento de dividendos — quanto precisa investir pra receber X por mês em dividendos de ações ou FIIs.","operationId":"calculate_dividend_yield_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"target_monthly_income":{"description":"Renda mensal desejada em dividendos (R$)","type":"number","minimum":0,"exclusiveMinimum":true},"annual_yield":{"description":"Dividend yield anual esperado (%, padrão 8%)","default":8,"type":"number","minimum":0,"exclusiveMinimum":true},"current_investment":{"description":"Quanto já tem investido em R$","default":0,"type":"number","minimum":0},"monthly_contribution":{"description":"Aporte mensal em R$","default":0,"type":"number","minimum":0}},"required":["target_monthly_income"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/credit-card-interest":{"get":{"tags":["Calculadoras"],"summary":"Calcula juros do crédito rotativo do cartão e compara com parcelamento da fatura. Mostra o custo real de pagar o mínimo.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_credit_card_interest_get","parameters":[{"name":"bill_amount","in":"query","required":true,"description":"Valor total da fatura em R$","schema":{"description":"Valor total da fatura em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"minimum_payment_percent","in":"query","required":false,"description":"% do pagamento mínimo (padrão 15%)","schema":{"description":"% do pagamento mínimo (padrão 15%)","default":15,"type":"number","minimum":1,"maximum":100}},{"name":"revolving_rate","in":"query","required":false,"description":"Taxa de juros rotativo mensal (%, padrão 14%)","schema":{"description":"Taxa de juros rotativo mensal (%, padrão 14%)","default":14,"type":"number","minimum":0,"maximum":100}},{"name":"installment_rate","in":"query","required":false,"description":"Taxa de juros do parcelamento mensal (%, padrão 8%)","schema":{"description":"Taxa de juros do parcelamento mensal (%, padrão 8%)","default":8,"type":"number","minimum":0,"maximum":100}},{"name":"installment_months","in":"query","required":false,"description":"Parcelas do parcelamento","schema":{"description":"Parcelas do parcelamento","default":12,"type":"integer","minimum":2,"maximum":24}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula juros do crédito rotativo do cartão e compara com parcelamento da fatura. Mostra o custo real de pagar o mínimo.","operationId":"calculate_credit_card_interest_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"bill_amount":{"description":"Valor total da fatura em R$","type":"number","minimum":0,"exclusiveMinimum":true},"minimum_payment_percent":{"description":"% do pagamento mínimo (padrão 15%)","default":15,"type":"number","minimum":1,"maximum":100},"revolving_rate":{"description":"Taxa de juros rotativo mensal (%, padrão 14%)","default":14,"type":"number","minimum":0,"maximum":100},"installment_rate":{"description":"Taxa de juros do parcelamento mensal (%, padrão 8%)","default":8,"type":"number","minimum":0,"maximum":100},"installment_months":{"description":"Parcelas do parcelamento","default":12,"type":"integer","minimum":2,"maximum":24}},"required":["bill_amount"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/simples-nacional":{"get":{"tags":["Calculadoras"],"summary":"Calcula imposto do Simples Nacional por faixa de faturamento e anexo. Alíquota efetiva e valor mensal.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_simples_nacional_get","parameters":[{"name":"monthly_revenue","in":"query","required":true,"description":"Faturamento mensal em R$","schema":{"description":"Faturamento mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"annex","in":"query","required":false,"description":"Anexo do Simples (I=comércio, III=serviços)","schema":{"description":"Anexo do Simples (I=comércio, III=serviços)","default":"III","type":"string","enum":["I","III"]}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula imposto do Simples Nacional por faixa de faturamento e anexo. Alíquota efetiva e valor mensal.","operationId":"calculate_simples_nacional_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"monthly_revenue":{"description":"Faturamento mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true},"annex":{"description":"Anexo do Simples (I=comércio, III=serviços)","default":"III","type":"string","enum":["I","III"]}},"required":["monthly_revenue"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/unemployment-insurance":{"get":{"tags":["Calculadoras"],"summary":"Calcula valor e parcelas do seguro-desemprego 2026 com base no salário e tempo trabalhado.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_unemployment_insurance_get","parameters":[{"name":"average_salary","in":"query","required":true,"description":"Média dos últimos 3 salários em R$","schema":{"description":"Média dos últimos 3 salários em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"months_worked","in":"query","required":true,"description":"Meses trabalhados nos últimos 36 meses","schema":{"description":"Meses trabalhados nos últimos 36 meses","type":"integer","minimum":6,"maximum":9007199254740991}},{"name":"times_requested","in":"query","required":false,"description":"Quantas vezes já solicitou (1ª, 2ª ou 3ª vez)","schema":{"description":"Quantas vezes já solicitou (1ª, 2ª ou 3ª vez)","default":1,"type":"integer","minimum":1,"maximum":3}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula valor e parcelas do seguro-desemprego 2026 com base no salário e tempo trabalhado.","operationId":"calculate_unemployment_insurance_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"average_salary":{"description":"Média dos últimos 3 salários em R$","type":"number","minimum":0,"exclusiveMinimum":true},"months_worked":{"description":"Meses trabalhados nos últimos 36 meses","type":"integer","minimum":6,"maximum":9007199254740991},"times_requested":{"description":"Quantas vezes já solicitou (1ª, 2ª ou 3ª vez)","default":1,"type":"integer","minimum":1,"maximum":3}},"required":["average_salary","months_worked"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/retirement":{"get":{"tags":["Calculadoras"],"summary":"Projeta quando e com quanto a pessoa se aposenta pela regra permanente da EC 103/2019: idade mínima, tempo mínimo, percentual da média e o piso de um salário mínimo.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_retirement_get","parameters":[{"name":"gender","in":"query","required":true,"description":"Define idade e tempo mínimos: 65 anos e 20 de contribuição para homem, 62 e 15 para mulher.","schema":{"description":"Define idade e tempo mínimos: 65 anos e 20 de contribuição para homem, 62 e 15 para mulher.","type":"string","enum":["homem","mulher"]}},{"name":"current_age","in":"query","required":true,"description":"Idade hoje, em anos","schema":{"description":"Idade hoje, em anos","type":"number","minimum":14,"maximum":120}},{"name":"contribution_years","in":"query","required":true,"description":"Tempo já contribuído, em anos","schema":{"description":"Tempo já contribuído, em anos","type":"number","minimum":0,"maximum":60}},{"name":"average_salary","in":"query","required":true,"description":"Salário usado como proxy da média das contribuições, em R$. O cálculo real usa a média de todo o histórico desde julho de 1994.","schema":{"description":"Salário usado como proxy da média das contribuições, em R$. O cálculo real usa a média de todo o histórico desde julho de 1994.","type":"number","minimum":0,"exclusiveMinimum":true}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Projeta quando e com quanto a pessoa se aposenta pela regra permanente da EC 103/2019: idade mínima, tempo mínimo, percentual da média e o piso de um salário mínimo.","operationId":"calculate_retirement_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"gender":{"description":"Define idade e tempo mínimos: 65 anos e 20 de contribuição para homem, 62 e 15 para mulher.","type":"string","enum":["homem","mulher"]},"current_age":{"description":"Idade hoje, em anos","type":"number","minimum":14,"maximum":120},"contribution_years":{"description":"Tempo já contribuído, em anos","type":"number","minimum":0,"maximum":60},"average_salary":{"description":"Salário usado como proxy da média das contribuições, em R$. O cálculo real usa a média de todo o histórico desde julho de 1994.","type":"number","minimum":0,"exclusiveMinimum":true}},"required":["gender","current_age","contribution_years","average_salary"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/simple-interest":{"get":{"tags":["Calculadoras"],"summary":"Calcula juros simples: M = C + (C × i × t). Os juros incidem sempre sobre o principal, nunca sobre juros já acumulados, o que quase nenhum contrato de crédito faz na prática.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_simple_interest_get","parameters":[{"name":"principal","in":"query","required":true,"description":"Capital inicial em R$","schema":{"description":"Capital inicial em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"rate","in":"query","required":true,"description":"Taxa de juros em %, ex: 2 para 2%","schema":{"description":"Taxa de juros em %, ex: 2 para 2%","type":"number","minimum":0}},{"name":"months","in":"query","required":true,"description":"Prazo em meses","schema":{"description":"Prazo em meses","type":"integer","exclusiveMinimum":true,"maximum":600}},{"name":"rate_type","in":"query","required":false,"description":"Se a taxa informada é ao mês ou ao ano. No regime simples a taxa anual vira mensal por divisão direta por 12, sem capitalizar.","schema":{"description":"Se a taxa informada é ao mês ou ao ano. No regime simples a taxa anual vira mensal por divisão direta por 12, sem capitalizar.","default":"monthly","type":"string","enum":["monthly","annual"]}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula juros simples: M = C + (C × i × t). Os juros incidem sempre sobre o principal, nunca sobre juros já acumulados, o que quase nenhum contrato de crédito faz na prática.","operationId":"calculate_simple_interest_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"principal":{"description":"Capital inicial em R$","type":"number","minimum":0,"exclusiveMinimum":true},"rate":{"description":"Taxa de juros em %, ex: 2 para 2%","type":"number","minimum":0},"months":{"description":"Prazo em meses","type":"integer","exclusiveMinimum":true,"maximum":600},"rate_type":{"description":"Se a taxa informada é ao mês ou ao ano. No regime simples a taxa anual vira mensal por divisão direta por 12, sem capitalizar.","default":"monthly","type":"string","enum":["monthly","annual"]}},"required":["principal","rate","months"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/discount":{"get":{"tags":["Calculadoras"],"summary":"Calcula desconto: o preço final a partir de um percentual, ou o percentual a partir de um preço final.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_discount_get","parameters":[{"name":"original_price","in":"query","required":true,"description":"Preço original em R$","schema":{"description":"Preço original em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"discount_percent","in":"query","required":false,"description":"Percentual de desconto. Informe este ou o `final_price`.","schema":{"description":"Percentual de desconto. Informe este ou o `final_price`.","type":"number","minimum":0,"maximum":100}},{"name":"final_price","in":"query","required":false,"description":"Preço já com desconto em R$, para descobrir o percentual. Informe este ou o `discount_percent`.","schema":{"description":"Preço já com desconto em R$, para descobrir o percentual. Informe este ou o `discount_percent`.","type":"number","minimum":0}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula desconto: o preço final a partir de um percentual, ou o percentual a partir de um preço final.","operationId":"calculate_discount_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"original_price":{"description":"Preço original em R$","type":"number","minimum":0,"exclusiveMinimum":true},"discount_percent":{"description":"Percentual de desconto. Informe este ou o `final_price`.","type":"number","minimum":0,"maximum":100},"final_price":{"description":"Preço já com desconto em R$, para descobrir o percentual. Informe este ou o `discount_percent`.","type":"number","minimum":0}},"required":["original_price"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/energy-consumption":{"get":{"tags":["Calculadoras"],"summary":"Calcula o consumo de energia de uma lista de aparelhos em kWh e o custo mensal e anual, a partir da potência em watts e das horas de uso por dia.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_energy_consumption_get","parameters":[{"name":"appliances","in":"query","required":true,"description":"Aparelhos a somar","schema":{"description":"Aparelhos a somar","minItems":1,"maxItems":50,"type":"array","items":{"type":"object","properties":{"name":{"description":"Nome do aparelho","type":"string"},"watts":{"description":"Potência em watts","type":"number","minimum":0},"hours_per_day":{"description":"Horas de uso por dia","type":"number","minimum":0,"maximum":24}},"required":["name","watts","hours_per_day"]}}},{"name":"price_per_kwh","in":"query","required":true,"description":"Preço do kWh em R$, com impostos e bandeira. Varia por distribuidora; olhe na conta de luz.","schema":{"description":"Preço do kWh em R$, com impostos e bandeira. Varia por distribuidora; olhe na conta de luz.","type":"number","minimum":0,"exclusiveMinimum":true}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula o consumo de energia de uma lista de aparelhos em kWh e o custo mensal e anual, a partir da potência em watts e das horas de uso por dia.","operationId":"calculate_energy_consumption_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"appliances":{"description":"Aparelhos a somar","minItems":1,"maxItems":50,"type":"array","items":{"type":"object","properties":{"name":{"description":"Nome do aparelho","type":"string"},"watts":{"description":"Potência em watts","type":"number","minimum":0},"hours_per_day":{"description":"Horas de uso por dia","type":"number","minimum":0,"maximum":24}},"required":["name","watts","hours_per_day"]}},"price_per_kwh":{"description":"Preço do kWh em R$, com impostos e bandeira. Varia por distribuidora; olhe na conta de luz.","type":"number","minimum":0,"exclusiveMinimum":true}},"required":["appliances","price_per_kwh"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/fuel-comparison":{"get":{"tags":["Calculadoras"],"summary":"Compara álcool e gasolina pelo custo por quilômetro rodado, usando o rendimento real do carro, e diz quanto a escolha vale em reais por mês. Também informa o que a regra dos 70% diria, e quando ela erra.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"compare_fuel_get","parameters":[{"name":"alcohol_price","in":"query","required":true,"description":"Preço do álcool por litro","schema":{"description":"Preço do álcool por litro","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"gasoline_price","in":"query","required":true,"description":"Preço da gasolina por litro","schema":{"description":"Preço da gasolina por litro","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"alcohol_km_per_liter","in":"query","required":false,"description":"Rendimento no álcool, em km/l. Padrão 7, o carro médio.","schema":{"description":"Rendimento no álcool, em km/l. Padrão 7, o carro médio.","default":7,"type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"gasoline_km_per_liter","in":"query","required":false,"description":"Rendimento na gasolina, em km/l. Padrão 10, o carro médio.","schema":{"description":"Rendimento na gasolina, em km/l. Padrão 10, o carro médio.","default":10,"type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"km_per_month","in":"query","required":false,"description":"Quilometragem mensal, para converter a diferença em reais.","schema":{"description":"Quilometragem mensal, para converter a diferença em reais.","default":1000,"type":"number","minimum":0}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Compara álcool e gasolina pelo custo por quilômetro rodado, usando o rendimento real do carro, e diz quanto a escolha vale em reais por mês. Também informa o que a regra dos 70% diria, e quando ela erra.","operationId":"compare_fuel_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"alcohol_price":{"description":"Preço do álcool por litro","type":"number","minimum":0,"exclusiveMinimum":true},"gasoline_price":{"description":"Preço da gasolina por litro","type":"number","minimum":0,"exclusiveMinimum":true},"alcohol_km_per_liter":{"description":"Rendimento no álcool, em km/l. Padrão 7, o carro médio.","default":7,"type":"number","minimum":0,"exclusiveMinimum":true},"gasoline_km_per_liter":{"description":"Rendimento na gasolina, em km/l. Padrão 10, o carro médio.","default":10,"type":"number","minimum":0,"exclusiveMinimum":true},"km_per_month":{"description":"Quilometragem mensal, para converter a diferença em reais.","default":1000,"type":"number","minimum":0}},"required":["alcohol_price","gasoline_price"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/payroll-loan":{"get":{"tags":["Calculadoras"],"summary":"Calcula empréstimo consignado: quanto o banco libera dentro da margem, a parcela, e se um valor pedido cabe na margem e no prazo da categoria.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_payroll_loan_get","parameters":[{"name":"available_income","in":"query","required":true,"description":"Remuneração disponível em R$, o que sobra depois dos descontos obrigatórios. A margem incide sobre isto, não sobre o bruto.","schema":{"description":"Remuneração disponível em R$, o que sobra depois dos descontos obrigatórios. A margem incide sobre isto, não sobre o bruto.","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"category","in":"query","required":false,"description":"CLT tem margem de 35% e prazo de até 96 meses; aposentado ou pensionista do INSS tem 40% e até 108 meses desde a MP 1.355/2026.","schema":{"description":"CLT tem margem de 35% e prazo de até 96 meses; aposentado ou pensionista do INSS tem 40% e até 108 meses desde a MP 1.355/2026.","default":"clt","type":"string","enum":["clt","inss"]}},{"name":"months","in":"query","required":true,"description":"Prazo em meses","schema":{"description":"Prazo em meses","type":"integer","exclusiveMinimum":true,"maximum":120}},{"name":"monthly_rate","in":"query","required":true,"description":"Taxa de juros mensal em decimal, ex: 0.018 = 1,8% ao mês","schema":{"description":"Taxa de juros mensal em decimal, ex: 0.018 = 1,8% ao mês","type":"number","minimum":0,"maximum":1}},{"name":"requested_amount","in":"query","required":false,"description":"Valor que se quer pegar, em R$. Deixe em zero para só descobrir o teto que a margem permite.","schema":{"description":"Valor que se quer pegar, em R$. Deixe em zero para só descobrir o teto que a margem permite.","default":0,"type":"number","minimum":0}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula empréstimo consignado: quanto o banco libera dentro da margem, a parcela, e se um valor pedido cabe na margem e no prazo da categoria.","operationId":"calculate_payroll_loan_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"available_income":{"description":"Remuneração disponível em R$, o que sobra depois dos descontos obrigatórios. A margem incide sobre isto, não sobre o bruto.","type":"number","minimum":0,"exclusiveMinimum":true},"category":{"description":"CLT tem margem de 35% e prazo de até 96 meses; aposentado ou pensionista do INSS tem 40% e até 108 meses desde a MP 1.355/2026.","default":"clt","type":"string","enum":["clt","inss"]},"months":{"description":"Prazo em meses","type":"integer","exclusiveMinimum":true,"maximum":120},"monthly_rate":{"description":"Taxa de juros mensal em decimal, ex: 0.018 = 1,8% ao mês","type":"number","minimum":0,"maximum":1},"requested_amount":{"description":"Valor que se quer pegar, em R$. Deixe em zero para só descobrir o teto que a margem permite.","default":0,"type":"number","minimum":0}},"required":["available_income","months","monthly_rate"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/savings-return":{"get":{"tags":["Calculadoras"],"summary":"Simula o rendimento da poupança com aportes mensais, aplicando a regra da Lei 12.703/2012: 0,5% ao mês mais TR com a Selic acima de 8,5% ao ano, 70% da Selic mais TR abaixo disso.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_savings_return_get","parameters":[{"name":"initial_amount","in":"query","required":true,"description":"Valor inicial em R$","schema":{"description":"Valor inicial em R$","type":"number","minimum":0}},{"name":"monthly_deposit","in":"query","required":false,"description":"Aporte mensal em R$","schema":{"description":"Aporte mensal em R$","default":0,"type":"number","minimum":0}},{"name":"months","in":"query","required":true,"description":"Prazo em meses","schema":{"description":"Prazo em meses","type":"integer","exclusiveMinimum":true,"maximum":600}},{"name":"selic_annual","in":"query","required":true,"description":"Selic meta anual em %, ex: 14.25","schema":{"description":"Selic meta anual em %, ex: 14.25","type":"number","minimum":0,"maximum":100}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Simula o rendimento da poupança com aportes mensais, aplicando a regra da Lei 12.703/2012: 0,5% ao mês mais TR com a Selic acima de 8,5% ao ano, 70% da Selic mais TR abaixo disso.","operationId":"calculate_savings_return_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"initial_amount":{"description":"Valor inicial em R$","type":"number","minimum":0},"monthly_deposit":{"description":"Aporte mensal em R$","default":0,"type":"number","minimum":0},"months":{"description":"Prazo em meses","type":"integer","exclusiveMinimum":true,"maximum":600},"selic_annual":{"description":"Selic meta anual em %, ex: 14.25","type":"number","minimum":0,"maximum":100}},"required":["initial_amount","months","selic_annual"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/real-salary":{"get":{"tags":["Calculadoras"],"summary":"Calcula o salário real descontando a inflação. Mostra se o reajuste acompanhou o IPCA ou se houve perda de poder de compra.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_real_salary_get","parameters":[{"name":"previous_salary","in":"query","required":true,"description":"Salário anterior em R$","schema":{"description":"Salário anterior em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"current_salary","in":"query","required":true,"description":"Salário atual em R$","schema":{"description":"Salário atual em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"inflation_period","in":"query","required":true,"description":"Inflação acumulada no período (%, ex: 5.5)","schema":{"description":"Inflação acumulada no período (%, ex: 5.5)","type":"number","minimum":-100,"exclusiveMinimum":true,"maximum":1000}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula o salário real descontando a inflação. Mostra se o reajuste acompanhou o IPCA ou se houve perda de poder de compra.","operationId":"calculate_real_salary_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"previous_salary":{"description":"Salário anterior em R$","type":"number","minimum":0,"exclusiveMinimum":true},"current_salary":{"description":"Salário atual em R$","type":"number","minimum":0,"exclusiveMinimum":true},"inflation_period":{"description":"Inflação acumulada no período (%, ex: 5.5)","type":"number","minimum":-100,"exclusiveMinimum":true,"maximum":1000}},"required":["previous_salary","current_salary","inflation_period"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/mei-tax":{"get":{"tags":["Calculadoras"],"summary":"Calcula o valor do DAS MEI mensal e verifica se está dentro do limite de faturamento.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_mei_tax_get","parameters":[{"name":"monthly_revenue","in":"query","required":true,"description":"Faturamento mensal em R$","schema":{"description":"Faturamento mensal em R$","type":"number","minimum":0}},{"name":"activity","in":"query","required":false,"description":"Comércio ou indústria recolhe R$ 1,00 de ICMS; serviços, R$ 5,00 de ISS; quem faz os dois (`misto`) recolhe os dois.","schema":{"description":"Comércio ou indústria recolhe R$ 1,00 de ICMS; serviços, R$ 5,00 de ISS; quem faz os dois (`misto`) recolhe os dois.","default":"servico","type":"string","enum":["comercio","servico","industria","misto"]}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula o valor do DAS MEI mensal e verifica se está dentro do limite de faturamento.","operationId":"calculate_mei_tax_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"monthly_revenue":{"description":"Faturamento mensal em R$","type":"number","minimum":0},"activity":{"description":"Comércio ou indústria recolhe R$ 1,00 de ICMS; serviços, R$ 5,00 de ISS; quem faz os dois (`misto`) recolhe os dois.","default":"servico","type":"string","enum":["comercio","servico","industria","misto"]}},"required":["monthly_revenue"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/inflation-adjustment":{"get":{"tags":["Calculadoras"],"summary":"Corrige um valor pela inflação (IPCA). Mostra quanto um valor do passado equivale hoje, ou quanto o poder de compra diminuiu.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_inflation_adjustment_get","parameters":[{"name":"original_value","in":"query","required":true,"description":"Valor original em R$","schema":{"description":"Valor original em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"annual_inflation","in":"query","required":false,"description":"Inflação anual média (%, padrão 5.5% — IPCA 2026)","schema":{"description":"Inflação anual média (%, padrão 5.5% — IPCA 2026)","default":5.5,"type":"number","minimum":-100,"exclusiveMinimum":true,"maximum":1000}},{"name":"years","in":"query","required":true,"description":"Número de anos","schema":{"description":"Número de anos","type":"number","minimum":0,"exclusiveMinimum":true,"maximum":50}},{"name":"direction","in":"query","required":false,"description":"Direção do cálculo","schema":{"description":"Direção do cálculo","default":"past_to_present","type":"string","enum":["past_to_present","present_to_future"]}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Corrige um valor pela inflação (IPCA). Mostra quanto um valor do passado equivale hoje, ou quanto o poder de compra diminuiu.","operationId":"calculate_inflation_adjustment_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"original_value":{"description":"Valor original em R$","type":"number","minimum":0,"exclusiveMinimum":true},"annual_inflation":{"description":"Inflação anual média (%, padrão 5.5% — IPCA 2026)","default":5.5,"type":"number","minimum":-100,"exclusiveMinimum":true,"maximum":1000},"years":{"description":"Número de anos","type":"number","minimum":0,"exclusiveMinimum":true,"maximum":50},"direction":{"description":"Direção do cálculo","default":"past_to_present","type":"string","enum":["past_to_present","present_to_future"]}},"required":["original_value","years"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/compare-with-cdb":{"get":{"tags":["Calculadoras"],"summary":"Compara um CDB que rende X% do CDI vs alternativas (Tesouro Selic, LCI/LCA, poupança) usando o CDI atual do Banco Central. Retorna rendimento líquido pós-IR e diferença em R$ entre cada opção pra um aporte e prazo dados.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"compare_with_cdb_get","parameters":[{"name":"principal","in":"query","required":true,"description":"Valor a investir em R$","schema":{"description":"Valor a investir em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"cdi_percent","in":"query","required":true,"description":"Percentual do CDI que o CDB rende (ex: 110 = 110% do CDI; 100 = 100% do CDI)","schema":{"description":"Percentual do CDI que o CDB rende (ex: 110 = 110% do CDI; 100 = 100% do CDI)","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"months","in":"query","required":true,"description":"Prazo em meses (1-360)","schema":{"description":"Prazo em meses (1-360)","type":"integer","exclusiveMinimum":true,"maximum":360}},{"name":"lci_percent","in":"query","required":false,"description":"Percentual do CDI da LCI/LCA pra incluir na comparação (opcional, ex: 95)","schema":{"description":"Percentual do CDI da LCI/LCA pra incluir na comparação (opcional, ex: 95)","type":"number","minimum":0,"exclusiveMinimum":true}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Compara um CDB que rende X% do CDI vs alternativas (Tesouro Selic, LCI/LCA, poupança) usando o CDI atual do Banco Central. Retorna rendimento líquido pós-IR e diferença em R$ entre cada opção pra um aporte e prazo dados.","operationId":"compare_with_cdb_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"principal":{"description":"Valor a investir em R$","type":"number","minimum":0,"exclusiveMinimum":true},"cdi_percent":{"description":"Percentual do CDI que o CDB rende (ex: 110 = 110% do CDI; 100 = 100% do CDI)","type":"number","minimum":0,"exclusiveMinimum":true},"months":{"description":"Prazo em meses (1-360)","type":"integer","exclusiveMinimum":true,"maximum":360},"lci_percent":{"description":"Percentual do CDI da LCI/LCA pra incluir na comparação (opcional, ex: 95)","type":"number","minimum":0,"exclusiveMinimum":true}},"required":["principal","cdi_percent","months"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/markup":{"get":{"tags":["Calculadoras"],"summary":"Calcula preço de venda com markup — inclui custos fixos, variáveis e margem de lucro desejada.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_markup_get","parameters":[{"name":"unit_cost","in":"query","required":true,"description":"Custo unitário do produto/serviço em R$","schema":{"description":"Custo unitário do produto/serviço em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"fixed_costs_percent","in":"query","required":false,"description":"Custos fixos sobre o preço de venda (%)","schema":{"description":"Custos fixos sobre o preço de venda (%)","default":10,"type":"number","minimum":0}},{"name":"variable_costs_percent","in":"query","required":false,"description":"Custos variáveis/impostos sobre o preço (%)","schema":{"description":"Custos variáveis/impostos sobre o preço (%)","default":15,"type":"number","minimum":0}},{"name":"desired_margin","in":"query","required":true,"description":"Margem de lucro desejada (%)","schema":{"description":"Margem de lucro desejada (%)","type":"number","minimum":0}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula preço de venda com markup — inclui custos fixos, variáveis e margem de lucro desejada.","operationId":"calculate_markup_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"unit_cost":{"description":"Custo unitário do produto/serviço em R$","type":"number","minimum":0,"exclusiveMinimum":true},"fixed_costs_percent":{"description":"Custos fixos sobre o preço de venda (%)","default":10,"type":"number","minimum":0},"variable_costs_percent":{"description":"Custos variáveis/impostos sobre o preço (%)","default":15,"type":"number","minimum":0},"desired_margin":{"description":"Margem de lucro desejada (%)","type":"number","minimum":0}},"required":["unit_cost","desired_margin"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/compare-clt-vs-pj":{"get":{"tags":["Calculadoras"],"summary":"Compara renda líquida CLT vs PJ (Simples Nacional) para o mesmo valor bruto. Inclui benefícios CLT e custos PJ.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"compare_clt_vs_pj_get","parameters":[{"name":"gross_value","in":"query","required":true,"description":"Valor bruto mensal em R$","schema":{"description":"Valor bruto mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"pj_tax_rate","in":"query","required":false,"description":"Alíquota Simples Nacional (%, padrão 6%)","schema":{"description":"Alíquota Simples Nacional (%, padrão 6%)","default":6,"type":"number","minimum":0,"maximum":30}},{"name":"pj_accountant","in":"query","required":false,"description":"Custo mensal do contador em R$","schema":{"description":"Custo mensal do contador em R$","default":200,"type":"number","minimum":0}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Compara renda líquida CLT vs PJ (Simples Nacional) para o mesmo valor bruto. Inclui benefícios CLT e custos PJ.","operationId":"compare_clt_vs_pj_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"gross_value":{"description":"Valor bruto mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true},"pj_tax_rate":{"description":"Alíquota Simples Nacional (%, padrão 6%)","default":6,"type":"number","minimum":0,"maximum":30},"pj_accountant":{"description":"Custo mensal do contador em R$","default":200,"type":"number","minimum":0}},"required":["gross_value"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/compound-interest":{"get":{"tags":["Calculadoras"],"summary":"Calcula juros compostos com aportes mensais. Fórmula M = C × (1+i)^n com depósitos periódicos.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_compound_interest_get","parameters":[{"name":"principal","in":"query","required":true,"description":"Valor inicial investido em R$","schema":{"description":"Valor inicial investido em R$","type":"number","minimum":0}},{"name":"monthly_rate","in":"query","required":true,"description":"Taxa de juros mensal (ex: 0.01 = 1% ao mês)","schema":{"description":"Taxa de juros mensal (ex: 0.01 = 1% ao mês)","type":"number","minimum":-1,"maximum":1}},{"name":"months","in":"query","required":true,"description":"Prazo em meses","schema":{"description":"Prazo em meses","type":"integer","exclusiveMinimum":true,"maximum":600}},{"name":"monthly_deposit","in":"query","required":false,"description":"Aporte mensal em R$","schema":{"description":"Aporte mensal em R$","default":0,"type":"number","minimum":0}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula juros compostos com aportes mensais. Fórmula M = C × (1+i)^n com depósitos periódicos.","operationId":"calculate_compound_interest_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"principal":{"description":"Valor inicial investido em R$","type":"number","minimum":0},"monthly_rate":{"description":"Taxa de juros mensal (ex: 0.01 = 1% ao mês)","type":"number","minimum":-1,"maximum":1},"months":{"description":"Prazo em meses","type":"integer","exclusiveMinimum":true,"maximum":600},"monthly_deposit":{"description":"Aporte mensal em R$","default":0,"type":"number","minimum":0}},"required":["principal","monthly_rate","months"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/investment-return":{"get":{"tags":["Calculadoras"],"summary":"Simula rendimento de renda fixa no Brasil — CDB, LCI, LCA, Tesouro Selic, Poupança. Calcula IR regressivo e compara com poupança.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_investment_return_get","parameters":[{"name":"principal","in":"query","required":true,"description":"Valor investido em R$","schema":{"description":"Valor investido em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"annual_rate","in":"query","required":true,"description":"Taxa anual (ex: 14.15 = 14.15% a.a.)","schema":{"description":"Taxa anual (ex: 14.15 = 14.15% a.a.)","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"months","in":"query","required":true,"description":"Prazo em meses","schema":{"description":"Prazo em meses","type":"integer","exclusiveMinimum":true,"maximum":360}},{"name":"type","in":"query","required":true,"description":"Tipo de investimento","schema":{"description":"Tipo de investimento","type":"string","enum":["cdb","lci","tesouro_selic","poupanca"]}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Simula rendimento de renda fixa no Brasil — CDB, LCI, LCA, Tesouro Selic, Poupança. Calcula IR regressivo e compara com poupança.","operationId":"calculate_investment_return_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"principal":{"description":"Valor investido em R$","type":"number","minimum":0,"exclusiveMinimum":true},"annual_rate":{"description":"Taxa anual (ex: 14.15 = 14.15% a.a.)","type":"number","minimum":0,"exclusiveMinimum":true},"months":{"description":"Prazo em meses","type":"integer","exclusiveMinimum":true,"maximum":360},"type":{"description":"Tipo de investimento","type":"string","enum":["cdb","lci","tesouro_selic","poupanca"]}},"required":["principal","annual_rate","months","type"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/emergency-fund":{"get":{"tags":["Calculadoras"],"summary":"Calcula o valor ideal da reserva de emergência e quanto tempo leva para montar, baseado nos gastos mensais e perfil.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_emergency_fund_get","parameters":[{"name":"monthly_expenses","in":"query","required":true,"description":"Gastos mensais fixos em R$","schema":{"description":"Gastos mensais fixos em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"profile","in":"query","required":false,"description":"Perfil profissional","schema":{"description":"Perfil profissional","default":"clt","type":"string","enum":["clt","autonomo","empresario"]}},{"name":"current_savings","in":"query","required":false,"description":"Quanto já tem guardado em R$","schema":{"description":"Quanto já tem guardado em R$","default":0,"type":"number","minimum":0}},{"name":"monthly_saving","in":"query","required":false,"description":"Quanto consegue guardar por mês em R$","schema":{"description":"Quanto consegue guardar por mês em R$","default":0,"type":"number","minimum":0}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula o valor ideal da reserva de emergência e quanto tempo leva para montar, baseado nos gastos mensais e perfil.","operationId":"calculate_emergency_fund_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"monthly_expenses":{"description":"Gastos mensais fixos em R$","type":"number","minimum":0,"exclusiveMinimum":true},"profile":{"description":"Perfil profissional","default":"clt","type":"string","enum":["clt","autonomo","empresario"]},"current_savings":{"description":"Quanto já tem guardado em R$","default":0,"type":"number","minimum":0},"monthly_saving":{"description":"Quanto consegue guardar por mês em R$","default":0,"type":"number","minimum":0}},"required":["monthly_expenses"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/net-salary":{"get":{"tags":["Calculadoras"],"summary":"Calcula o salário líquido CLT no Brasil com descontos de INSS e IRRF. Tabelas atualizadas 2026.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_net_salary_get","parameters":[{"name":"gross_salary","in":"query","required":true,"description":"Salário bruto mensal em R$","schema":{"description":"Salário bruto mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"dependents","in":"query","required":false,"description":"Número de dependentes para dedução IRRF","schema":{"description":"Número de dependentes para dedução IRRF","default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula o salário líquido CLT no Brasil com descontos de INSS e IRRF. Tabelas atualizadas 2026.","operationId":"calculate_net_salary_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"gross_salary":{"description":"Salário bruto mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true},"dependents":{"description":"Número de dependentes para dedução IRRF","default":0,"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["gross_salary"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/debt-payoff":{"get":{"tags":["Calculadoras"],"summary":"Calcula plano de quitação de dívidas pelo método avalanche (maior juros primeiro) ou bola de neve (menor saldo primeiro). Compara os dois.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_debt_payoff_get","parameters":[{"name":"debts","in":"query","required":true,"description":"Lista de dívidas","schema":{"description":"Lista de dívidas","minItems":1,"maxItems":10,"type":"array","items":{"type":"object","properties":{"name":{"description":"Nome da dívida (ex: 'Cartão Nubank')","type":"string"},"balance":{"description":"Saldo devedor em R$","type":"number","minimum":0,"exclusiveMinimum":true},"monthly_rate":{"description":"Taxa de juros mensal (ex: 0.12 = 12%)","type":"number","minimum":0,"exclusiveMinimum":true},"minimum_payment":{"description":"Pagamento mínimo mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true}},"required":["name","balance","monthly_rate","minimum_payment"]}}},{"name":"extra_payment","in":"query","required":false,"description":"Valor extra mensal além dos mínimos em R$","schema":{"description":"Valor extra mensal além dos mínimos em R$","default":0,"type":"number","minimum":0}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula plano de quitação de dívidas pelo método avalanche (maior juros primeiro) ou bola de neve (menor saldo primeiro). Compara os dois.","operationId":"calculate_debt_payoff_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"debts":{"description":"Lista de dívidas","minItems":1,"maxItems":10,"type":"array","items":{"type":"object","properties":{"name":{"description":"Nome da dívida (ex: 'Cartão Nubank')","type":"string"},"balance":{"description":"Saldo devedor em R$","type":"number","minimum":0,"exclusiveMinimum":true},"monthly_rate":{"description":"Taxa de juros mensal (ex: 0.12 = 12%)","type":"number","minimum":0,"exclusiveMinimum":true},"minimum_payment":{"description":"Pagamento mínimo mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true}},"required":["name","balance","monthly_rate","minimum_payment"]}},"extra_payment":{"description":"Valor extra mensal além dos mínimos em R$","default":0,"type":"number","minimum":0}},"required":["debts"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/budget":{"get":{"tags":["Calculadoras"],"summary":"Calcula orçamento pela regra 50/30/20 — necessidades, desejos e investimentos a partir da renda líquida.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_budget_get","parameters":[{"name":"net_income","in":"query","required":true,"description":"Renda líquida mensal em R$","schema":{"description":"Renda líquida mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula orçamento pela regra 50/30/20 — necessidades, desejos e investimentos a partir da renda líquida.","operationId":"calculate_budget_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"net_income":{"description":"Renda líquida mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true}},"required":["net_income"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/employee-cost":{"get":{"tags":["Calculadoras"],"summary":"Calcula o custo total de um funcionário CLT para a empresa — encargos, FGTS, 13º, férias, provisões.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_employee_cost_get","parameters":[{"name":"salary","in":"query","required":true,"description":"Salário bruto mensal em R$","schema":{"description":"Salário bruto mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"vale_transporte","in":"query","required":false,"description":"Vale transporte mensal em R$","schema":{"description":"Vale transporte mensal em R$","default":300,"type":"number","minimum":0}},{"name":"vale_refeicao","in":"query","required":false,"description":"Vale refeição mensal em R$","schema":{"description":"Vale refeição mensal em R$","default":600,"type":"number","minimum":0}},{"name":"plano_saude","in":"query","required":false,"description":"Plano de saúde mensal em R$","schema":{"description":"Plano de saúde mensal em R$","default":400,"type":"number","minimum":0}},{"name":"rat_rate","in":"query","required":false,"description":"Alíquota RAT já ajustada pelo FAP (%). Varia de 1 a 3 conforme o CNAE, dobrando ou reduzindo pela metade com o FAP. Padrão 3, o pior caso.","schema":{"description":"Alíquota RAT já ajustada pelo FAP (%). Varia de 1 a 3 conforme o CNAE, dobrando ou reduzindo pela metade com o FAP. Padrão 3, o pior caso.","default":3,"type":"number","minimum":0,"maximum":6}},{"name":"regime","in":"query","required":false,"description":"Regime tributário da empresa. O optante do Simples é dispensado de CPP, RAT e terceiros (LC 123/2006, art. 13, §3º), que já estão dentro do DAS; o anexo IV recolhe CPP e RAT à parte. O FGTS é devido em qualquer regime.","schema":{"description":"Regime tributário da empresa. O optante do Simples é dispensado de CPP, RAT e terceiros (LC 123/2006, art. 13, §3º), que já estão dentro do DAS; o anexo IV recolhe CPP e RAT à parte. O FGTS é devido em qualquer regime.","default":"normal","type":"string","enum":["simples","simples_anexo_iv","normal"]}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula o custo total de um funcionário CLT para a empresa — encargos, FGTS, 13º, férias, provisões.","operationId":"calculate_employee_cost_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"salary":{"description":"Salário bruto mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true},"vale_transporte":{"description":"Vale transporte mensal em R$","default":300,"type":"number","minimum":0},"vale_refeicao":{"description":"Vale refeição mensal em R$","default":600,"type":"number","minimum":0},"plano_saude":{"description":"Plano de saúde mensal em R$","default":400,"type":"number","minimum":0},"rat_rate":{"description":"Alíquota RAT já ajustada pelo FAP (%). Varia de 1 a 3 conforme o CNAE, dobrando ou reduzindo pela metade com o FAP. Padrão 3, o pior caso.","default":3,"type":"number","minimum":0,"maximum":6},"regime":{"description":"Regime tributário da empresa. O optante do Simples é dispensado de CPP, RAT e terceiros (LC 123/2006, art. 13, §3º), que já estão dentro do DAS; o anexo IV recolhe CPP e RAT à parte. O FGTS é devido em qualquer regime.","default":"normal","type":"string","enum":["simples","simples_anexo_iv","normal"]}},"required":["salary"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/simulate-income-tax":{"get":{"tags":["Calculadoras"],"summary":"Simula declaração de Imposto de Renda — compara modelo simplificado vs completo e calcula imposto devido ou restituição.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"simulate_income_tax_get","parameters":[{"name":"annual_income","in":"query","required":true,"description":"Renda tributável anual em R$","schema":{"description":"Renda tributável anual em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"tax_withheld","in":"query","required":false,"description":"IR já retido na fonte no ano em R$","schema":{"description":"IR já retido na fonte no ano em R$","default":0,"type":"number","minimum":0}},{"name":"dependents","in":"query","required":false,"description":"Número de dependentes","schema":{"description":"Número de dependentes","default":0,"type":"integer","minimum":0,"maximum":9007199254740991}},{"name":"health_expenses","in":"query","required":false,"description":"Gastos com saúde no ano em R$","schema":{"description":"Gastos com saúde no ano em R$","default":0,"type":"number","minimum":0}},{"name":"education_expenses","in":"query","required":false,"description":"Gastos com educação no ano em R$ (limite R$ 3.561,50/pessoa)","schema":{"description":"Gastos com educação no ano em R$ (limite R$ 3.561,50/pessoa)","default":0,"type":"number","minimum":0}},{"name":"pension_expenses","in":"query","required":false,"description":"Previdência privada PGBL no ano em R$","schema":{"description":"Previdência privada PGBL no ano em R$","default":0,"type":"number","minimum":0}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Simula declaração de Imposto de Renda — compara modelo simplificado vs completo e calcula imposto devido ou restituição.","operationId":"simulate_income_tax_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"annual_income":{"description":"Renda tributável anual em R$","type":"number","minimum":0,"exclusiveMinimum":true},"tax_withheld":{"description":"IR já retido na fonte no ano em R$","default":0,"type":"number","minimum":0},"dependents":{"description":"Número de dependentes","default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"health_expenses":{"description":"Gastos com saúde no ano em R$","default":0,"type":"number","minimum":0},"education_expenses":{"description":"Gastos com educação no ano em R$ (limite R$ 3.561,50/pessoa)","default":0,"type":"number","minimum":0},"pension_expenses":{"description":"Previdência privada PGBL no ano em R$","default":0,"type":"number","minimum":0}},"required":["annual_income"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/compare-loans":{"get":{"tags":["Calculadoras"],"summary":"Compara empréstimos de diferentes bancos pelo CET real (Custo Efetivo Total). Útil para portabilidade de crédito.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"compare_loans_get","parameters":[{"name":"loans","in":"query","required":true,"description":"Lista de empréstimos para comparar","schema":{"description":"Lista de empréstimos para comparar","minItems":2,"maxItems":5,"type":"array","items":{"type":"object","properties":{"name":{"description":"Nome do banco/instituição","type":"string"},"amount":{"description":"Valor do empréstimo em R$","type":"number","minimum":0,"exclusiveMinimum":true},"monthly_rate":{"description":"Taxa de juros mensal (%)","type":"number","minimum":0,"exclusiveMinimum":true},"months":{"description":"Prazo em meses","type":"integer","exclusiveMinimum":true,"maximum":9007199254740991},"fees":{"description":"Taxas/tarifas únicas em R$","default":0,"type":"number","minimum":0}},"required":["name","amount","monthly_rate","months"]}}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Compara empréstimos de diferentes bancos pelo CET real (Custo Efetivo Total). Útil para portabilidade de crédito.","operationId":"compare_loans_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"loans":{"description":"Lista de empréstimos para comparar","minItems":2,"maxItems":5,"type":"array","items":{"type":"object","properties":{"name":{"description":"Nome do banco/instituição","type":"string"},"amount":{"description":"Valor do empréstimo em R$","type":"number","minimum":0,"exclusiveMinimum":true},"monthly_rate":{"description":"Taxa de juros mensal (%)","type":"number","minimum":0,"exclusiveMinimum":true},"months":{"description":"Prazo em meses","type":"integer","exclusiveMinimum":true,"maximum":9007199254740991},"fees":{"description":"Taxas/tarifas únicas em R$","default":0,"type":"number","minimum":0}},"required":["name","amount","monthly_rate","months"]}}},"required":["loans"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/overtime":{"get":{"tags":["Calculadoras"],"summary":"Calcula valor de horas extras CLT — 50% (dias úteis), 100% (domingos/feriados) e o reflexo no DSR.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_overtime_get","parameters":[{"name":"salary","in":"query","required":true,"description":"Salário bruto mensal em R$","schema":{"description":"Salário bruto mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"monthly_hours","in":"query","required":false,"description":"Jornada mensal (padrão 220h)","schema":{"description":"Jornada mensal (padrão 220h)","default":220,"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":400}},{"name":"extra_hours_50","in":"query","required":false,"description":"Horas extras a 50%","schema":{"description":"Horas extras a 50%","default":0,"type":"number","minimum":0,"maximum":400}},{"name":"extra_hours_100","in":"query","required":false,"description":"Horas extras a 100%","schema":{"description":"Horas extras a 100%","default":0,"type":"number","minimum":0,"maximum":400}},{"name":"working_days","in":"query","required":false,"description":"Dias úteis do mês, para o reflexo no DSR","schema":{"description":"Dias úteis do mês, para o reflexo no DSR","default":25,"type":"integer","exclusiveMinimum":true,"maximum":31}},{"name":"rest_days","in":"query","required":false,"description":"Domingos e feriados do mês, para o reflexo no DSR","schema":{"description":"Domingos e feriados do mês, para o reflexo no DSR","default":5,"type":"integer","minimum":0,"maximum":31}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula valor de horas extras CLT — 50% (dias úteis), 100% (domingos/feriados) e o reflexo no DSR.","operationId":"calculate_overtime_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"salary":{"description":"Salário bruto mensal em R$","type":"number","minimum":0,"exclusiveMinimum":true},"monthly_hours":{"description":"Jornada mensal (padrão 220h)","default":220,"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":400},"extra_hours_50":{"description":"Horas extras a 50%","default":0,"type":"number","minimum":0,"maximum":400},"extra_hours_100":{"description":"Horas extras a 100%","default":0,"type":"number","minimum":0,"maximum":400},"working_days":{"description":"Dias úteis do mês, para o reflexo no DSR","default":25,"type":"integer","exclusiveMinimum":true,"maximum":31},"rest_days":{"description":"Domingos e feriados do mês, para o reflexo no DSR","default":5,"type":"integer","minimum":0,"maximum":31}},"required":["salary"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/opportunity-cost":{"get":{"tags":["Calculadoras"],"summary":"Calcula quanto um gasto recorrente viraria se fosse investido. Ex: café de R$10/dia → quanto dá em 10 anos investido.","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_opportunity_cost_get","parameters":[{"name":"daily_expense","in":"query","required":true,"description":"Gasto diário em R$","schema":{"description":"Gasto diário em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"annual_return","in":"query","required":false,"description":"Retorno anual do investimento (%, padrão 10%)","schema":{"description":"Retorno anual do investimento (%, padrão 10%)","default":10,"type":"number","minimum":-100,"exclusiveMinimum":true,"maximum":100}},{"name":"years","in":"query","required":false,"description":"Período em anos","schema":{"description":"Período em anos","default":10,"type":"integer","exclusiveMinimum":true,"maximum":50}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula quanto um gasto recorrente viraria se fosse investido. Ex: café de R$10/dia → quanto dá em 10 anos investido.","operationId":"calculate_opportunity_cost_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"daily_expense":{"description":"Gasto diário em R$","type":"number","minimum":0,"exclusiveMinimum":true},"annual_return":{"description":"Retorno anual do investimento (%, padrão 10%)","default":10,"type":"number","minimum":-100,"exclusiveMinimum":true,"maximum":100},"years":{"description":"Período em anos","default":10,"type":"integer","exclusiveMinimum":true,"maximum":50}},"required":["daily_expense"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/calc/installment":{"get":{"tags":["Calculadoras"],"summary":"Calcula parcelas de financiamento/empréstimo pelo sistema Price (parcelas fixas).","description":"Sem query params, devolve o schema de entrada em vez de calcular — útil pra descobrir o endpoint pelo navegador.","operationId":"calculate_installment_get","parameters":[{"name":"total","in":"query","required":true,"description":"Valor total em R$","schema":{"description":"Valor total em R$","type":"number","minimum":0,"exclusiveMinimum":true}},{"name":"installments","in":"query","required":true,"description":"Número de parcelas","schema":{"description":"Número de parcelas","type":"integer","exclusiveMinimum":true,"maximum":600}},{"name":"monthly_rate","in":"query","required":true,"description":"Taxa de juros mensal (ex: 0.02 = 2% ao mês)","schema":{"description":"Taxa de juros mensal (ex: 0.02 = 2% ao mês)","type":"number","minimum":0,"maximum":1}}],"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"tags":["Calculadoras"],"summary":"Calcula parcelas de financiamento/empréstimo pelo sistema Price (parcelas fixas).","operationId":"calculate_installment_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"total":{"description":"Valor total em R$","type":"number","minimum":0,"exclusiveMinimum":true},"installments":{"description":"Número de parcelas","type":"integer","exclusiveMinimum":true,"maximum":600},"monthly_rate":{"description":"Taxa de juros mensal (ex: 0.02 = 2% ao mês)","type":"number","minimum":0,"maximum":1}},"required":["total","installments","monthly_rate"]}}}},"responses":{"200":{"description":"Resultado do cálculo","content":{"application/json":{"schema":{"type":"object","description":"Campos variam por calculador. `currency` está sempre presente.","properties":{"currency":{"type":"string","example":"BRL"}},"additionalProperties":true}}}},"400":{"description":"Entrada inválida","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"invalid input"},"calculator":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}}},"503":{"description":"Taxas indisponíveis na fonte","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}}}}