---
title: "Calculadora de Férias + 1/3 Constitucional"
method: POST
path: "/api/v1/calc/ferias"
tags: ["calc", "trabalhistas"]
---

# Calculadora de Férias + 1/3 Constitucional

`POST /api/v1/calc/ferias`

## Request

- Base URL: `https://api.calculas.com.br`
- URL: `https://api.calculas.com.br/api/v1/calc/ferias`
- Auth: HTTP bearer

Calcule o valor bruto e líquido das suas férias CLT com 1/3 constitucional. Simule abono pecuniário (venda de 10 dias), INSS, IRRF e dependentes. Tabelas 2026.

## Request body

- object
  - `salarioBrutoCents` integer, required: Salário base mensal em centavos (sem somar acréscimos variáveis). Ex: R$ 5.000 → 500000
  - `diasFerias` integer: Número de dias de férias a receber. Padrão 30 (período completo). Se optou por abono pecuniário (venda de 10 dias), use 20. Mínimo 5 dias (desde a Reforma Trabalhista é possível fracionar em até 3 períodos, um deles com mínimo de 14 dias).
  - `abonoPecuniario` boolean: Se verdadeiro (true), inclui o abono pecuniário no cálculo — equivalente à venda de 10 dias de férias, pago com o valor proporcional + 1/3 constitucional, isento de INSS e IRRF. Se falso (false), calcula apenas os dias informados em "diasFerias". Padrão false.
  - `dependentes` integer: Número de dependentes declarados para fins de IRRF. Cada dependente abate R$ 189,59 da base de cálculo do imposto de renda sobre as férias. Padrão 0.
  - `acrescimosMediaMensalCents` object[]: Média mensal dos acréscimos habituais (HE, comissão, adicional noturno, periculosidade etc.) — Súmula 253/TST integram a base de cálculo das férias. Calcule (total ano)/meses trabalhados. Cada item: { categoria, valorCents, descricao? }. Padrão [].
    - `categoria` 'horas_extras' | 'adicional_noturno' | 'adicional_periculosidade' | 'adicional_insalubridade' | 'comissao' | 'bonus_gratificacao' | 'plr_pro_rata' | 'auxilio_alimentacao_clt' | 'auxilio_transporte_excedente' | 'gorjetas' | 'outro', required
    - `valorCents` integer, required: Valor em centavos. Ex: R$ 200 → 20000.
    - `descricao` string: Descrição livre do item (opcional, especialmente útil quando categoria = "outro"). Máx. 60 caracteres.
  - `outrosDescontos` object[]: Descontos adicionais que incidem sobre o pagamento de férias, agrupados por categoria (consignado, pensao_alimenticia, plano_saude, etc.). Cada item: { categoria, valorCents, descricao? }. Use "outro" + descrição livre para casos não cobertos.
    - `categoria` 'plano_saude' | 'vale_transporte' | 'vale_alimentacao' | 'previdencia_privada' | 'sindicato' | 'consignado' | 'pensao_alimenticia' | 'faltas_atrasos' | 'outro', required
    - `valorCents` integer, required: Valor em centavos. Ex: R$ 200 → 20000.
    - `descricao` string: Descrição livre do item (opcional, especialmente útil quando categoria = "outro"). Máx. 60 caracteres.
  - `mesFerias` integer: Mês (1=jan, 12=dez) em que as férias serão gozadas. Opcional — quando informado, alimenta o cronograma anual (composicaoAnualBreakdown) com monthsApplicable, permitindo a UI mostrar em qual mês o evento incide.
  - `eventosOpcionais` object[]: Adicionais conforme convenção coletiva, vendas de férias, descontos extras (não confundir com acréscimos habituais — Súmula 253). Cada item escolhe tipo, frequência (anual/única/irregular) e modo de valor (R$ absoluto, % do salário ou % da renda anual). Padrão []. Form começa vazio — user adiciona conforme precisa.
    - `tipo` 'ppr' | 'bonus' | 'beneficio' | 'comissao' | 'horas_extras_extra' | 'reembolso' | 'gratificacao_funcao' | 'outro', required
    - `modoValor` 'absoluto' | 'percent_salario' | 'percent_renda'
    - `valorCents` integer
    - `percent` number
    - `frequencia` 'mensal' | 'bimestral' | 'trimestral' | 'semestral' | 'anual' | 'unica' | 'irregular'
    - `descricao` string: Rótulo livre do user (ex: "PPR meta 2026", "Bônus retenção").
    - `monthsApplicable` integer[]
    - `ativo` boolean
  - `currentDate` string, date-time: ISO-8601 com offset. Default: tempo do servidor. Use pra reprodutibilidade / cache semantico.

## Response `200`

OK

- object
  - `ok` true, required
  - `data` object, required: Resultado dependente da calc — ver schema individual
  - `meta` object

## Other responses

- `422`: Input invalido (Zod parse falhou)
- `500`: Engine error

---

[API](https://skmtc.dev/calculas/apis/contai-api.md) · [All operations](https://skmtc.dev/calculas/apis/contai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/calculas/apis/contai-api/revisions/26a00749292b?raw)
