> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jusfy.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Calcula a restituição de PASEP

> Calcula a restituição do PASEP corrigindo o valor da conta ano a ano por índice (TJLP, RAC, juros) a partir do valor inicial e dos lançamentos de crédito/débito. Informe o valor inicial (`initial_amount`), a moeda/posição desse valor (`initial_amount_date`: `1989` Cruzados ou `1999` Reais) e os lançamentos (`debit_credit_values`). A resposta traz o breakdown por período em `calculations` e o total a restituir em `amountRefund`.

Lançamentos **sem** `type` são aceitos, mas ignorados no cálculo.



## OpenAPI

````yaml /openapi/v1.json post /api/v1/calculadoras/pasep
openapi: 3.0.0
info:
  title: Calculadoras Jusfy API
  description: >-
    API pública das calculadoras jurídicas Jusfy. Envie um payload de cálculo

    e receba o resultado já processado pelo motor de cálculo da Jusfy.


    ## Autenticação


    Todas as rotas exigem uma **API key** enviada no header `x-api-key`:


    ```http

    x-api-key: sua_api_key

    ```


    Sem a key, ou com uma key inativa/inválida, a requisição é recusada com

    `401`/`403`. As keys são provisionadas pela equipe Jusfy.


    Cada key tem uma lista de **escopos**, um por produto (cada calculadora,
    cada

    consulta, o JusScore), e só acessa as rotas dos produtos liberados para ela.

    Chamar um produto fora da lista responde `403` com `code:
    insufficient_scope`

    e o escopo que faltou na `message` (ex.: `Missing scope:
    consultas.cnh:execute`).

    Os produtos são liberados pela equipe Jusfy; produto novo não é liberado

    automaticamente para quem já integra.


    A consulta do próprio consumo (`GET /api/v1/consumo`) não exige escopo:

    qualquer key de cliente ativo a acessa.


    ## Formato das respostas


    Nas **calculadoras**, o sucesso devolve o **resultado do cálculo**

    diretamente no corpo, sem envelope.


    Nas **consultas**, no JusScore e no consumo, o sucesso vem num envelope

    padronizado, com os dados em `result`:


    ```json

    {
      "statusCode": 200,
      "message": "Consulta concluída com sucesso",
      "timestamp": "2026-07-28T18:00:00.000Z",
      "path": "/api/v1/consultas/cnh",
      "result": {}
    }

    ```


    Toda chamada é registrada para fins de auditoria.


    ## Consultas assíncronas


    Duas consultas — o **rastreamento veicular** e o **buscador**

    **processual** — não respondem na mesma requisição: o fornecedor delas é

    assíncrono e pode levar minutos. As duas usam um contrato de protocolo:


    1. o `POST` devolve **`202`** com um `id` e, se você informar um
       `url_retorno`, um `signingSecret` (exibido **uma única vez**);
    2. o resultado chega por **webhook** assinado e/ou pelo `GET` do
       protocolo, que responde `200` em todos os estados — inclusive quando
       a consulta falha, com o desfecho no campo `status`.

    A consulta é **cobrada no disparo**, não na entrega. Consultar o

    protocolo é gratuito. O resultado fica disponível por 30 dias.


    No **buscador processual** o resultado pode chegar a megabytes, então o

    webhook e o `GET` do protocolo levam apenas o **resumo**; os processos

    vêm por `GET /api/v1/consultas/buscador-processual/{id}/processos`,

    paginado. Guardamos no máximo 1.000 por consulta, e quando `truncated`

    é `true` eles são uma **amostra arbitrária** — a ordem do fornecedor

    não é cronológica.


    O contrato completo, com a verificação da assinatura do webhook, está no

    `README.md` do projeto.


    ## Erros


    Todo erro tem o mesmo formato, com um `code` estável que o seu código pode

    tratar. A `message` é o texto para gente: pode mudar de redação sem aviso,

    então não decida por ela.


    ```json

    {
      "statusCode": 404,
      "message": "CNH não encontrada para o documento informado.",
      "code": "no_data_found",
      "requestId": "9f1c2b7e-4d3a-4f8b-a6e2-1c0d9e8f7a65",
      "timestamp": "2026-06-22T18:00:00.000Z",
      "path": "/api/v1/consultas/cnh"
    }

    ```


    `requestId` identifica a chamada nos nossos registros. Toda resposta, de

    sucesso ou de erro, também o traz no header `X-Request-Id`. Se você enviar

    um `X-Request-Id` próprio (até 128 caracteres: letras, dígitos e `.`, `_`,

    `:`, `-`), ele é reaproveitado; senão geramos um. **Informe o `requestId`

    ao falar com o suporte** sobre uma chamada específica.


    Nos erros de validação desta API (`400` de corpo ou parâmetro), `message` é

    a **lista** de problemas (campo + motivo); nos demais, uma string.


    | Status | `code` | Quando | O que fazer |

    | ------ | ------ | ------ | ----------- |

    | `400` | `invalid_request` | Corpo, parâmetro ou JSON inválido. | Corrigir
    a requisição; a `message` diz o campo. |

    | `401` | `invalid_api_key` | API key ausente ou que não pertence a nenhum
    cliente. | Conferir o header `x-api-key`. |

    | `403` | `inactive_client` | A key é de um cliente que não está ativo
    (inativo ou ainda pendente). | Falar com a equipe Jusfy. |

    | `403` | `insufficient_scope` | A key não tem o escopo do produto chamado;
    a `message` traz o escopo. | Pedir a liberação do produto à equipe Jusfy. |

    | `404` | `route_not_found` | A rota não existe. | Conferir método e path. |

    | `404` | `resource_not_found` | O protocolo ou id pedido não existe, ou é
    de outro cliente (os dois respondem igual). | Conferir o id. |

    | `404` | `no_data_found` | A consulta rodou e o documento não tem dado. **É
    cobrada.** | Tratar como resultado vazio; repetir não muda o resultado. |

    | `409` | `report_not_ready` | O PDF do relatório pedido ainda está em
    geração, ou a geração falhou. | Consultar o relatório e baixar quando
    estiver `done`; em `error`, pedir de novo. |

    | `413` | `payload_too_large` | Corpo da requisição acima do limite. |
    Reduzir o corpo. |

    | `422` | `payload_rejected` | O motor de cálculo ou o fornecedor recusou o
    payload; a `message` diz o motivo. | Corrigir o payload. |

    | `429` | `rate_limit_exceeded` | Limite de requisições por minuto do
    produto excedido (ver abaixo). | Esperar o `Retry-After`. |

    | `429` | `too_many_pending_queries` | Consultas assíncronas demais em
    processamento para o cliente. | Esperar o `Retry-After`: é uma estimativa,
    porque a vaga abre quando uma consulta em voo termina. |

    | `500` | `internal_error` | Erro inesperado nesta API. | Repetir depois; se
    persistir, falar com a equipe Jusfy. |

    | `502` | `upstream_error` | O motor de cálculo ou o fornecedor falhou. |
    Ver a orientação de cada rota: nem sempre repetir resolve. |

    | `503` | `upstream_unavailable` | O fornecedor (ex.: o órgão consultado)
    está fora do ar; a consulta não rodou. | Repetir depois de um intervalo. |

    | `504` | `upstream_timeout` | O motor de cálculo ou o fornecedor não
    respondeu a tempo. | Repetir depois de um intervalo. |


    Códigos novos podem surgir para condições que hoje não são tratadas (ver

    "Versionamento e depreciação"): trate um `code` desconhecido pelo status.

    Um `code` existente nunca muda de significado na mesma versão.


    Nas consultas assíncronas e no relatório PDF da completa há ainda `202`

    (aceito e em processamento).


    ### Limite de requisições


    Cada cliente tem um limite de requisições por minuto **em cada produto**

    (calculadora, consulta ou JusScore); os produtos não dividem o limite

    entre si. A consulta do consumo tem um contador próprio, que também não

    divide o limite com nenhum produto. Toda resposta informa o estado do

    limite nos headers:


    | Header | Significado |

    | ------ | ----------- |

    | `X-RateLimit-Limit` | Requisições permitidas por minuto neste produto. |

    | `X-RateLimit-Remaining` | Quantas ainda cabem na janela atual. |

    | `X-RateLimit-Reset` | Segundos até a janela atual acabar. |


    Acima do limite a resposta é `429` com o header `Retry-After` (segundos

    até poder tentar de novo). A requisição recusada não é processada nem

    cobrada.


    ## Versionamento e depreciação


    A versão vai no path (`/api/v1/...`). `info.version` deste documento segue

    semver: MAJOR é a versão do path, MINOR é mudança compatível e PATCH é só

    documentação.


    **Mudanças compatíveis** entram na versão atual, como MINOR, sem aviso

    prévio. Sua integração deve tolerá-las:


    - campo novo na resposta;

    - campo opcional novo no request;

    - rota nova;

    - valor novo de enum **na resposta**, quando o campo estiver documentado
    como
      extensível;
    - código de erro novo para uma condição que antes não era tratada.


    **Mudanças incompatíveis** só entram numa versão nova de path:


    - remover ou renomear path, campo ou valor de enum;

    - tornar obrigatório um campo opcional;

    - mudar o tipo ou o formato de um campo;

    - mudar o significado de um status code;

    - mudar o formato do envelope ou do erro;

    - mudar a assinatura ou o corpo de um webhook.


    Quando uma versão é depreciada, você recebe **três sinais**:


    1. os headers `Deprecation`, `Sunset` (quando houver data de desligamento) e
       `Link` (`rel="deprecation"`, apontando para o guia de migração) em toda
       resposta da versão;
    2. as operações marcadas como `deprecated` no contrato da versão;

    3. comunicação direta aos clientes que ainda chamam a versão.


    **Prazo mínimo** entre a depreciação e o desligamento: _pendente: produto_.


    **Comunicação**: quem avisa o cliente e por qual canal: _pendente: produto_.


    Uma versão só é desligada quando as duas condições valem: o prazo de aviso

    venceu **e** todo cliente que ainda a chama foi contatado. Desligada, as

    rotas dela respondem **`410 Gone`**, no formato de erro padrão, com
    `message`

    apontando para o guia de migração.


    ## Changelog


    Toda mudança de `info.version` ganha uma entrada no
    [changelog](https://docs.jusfy.com.br/changelog).


    ## Migração do legado


    Payloads e respostas são os mesmos nas duas versões. O passo a passo está no
    [guia de
    migração](https://docs.jusfy.com.br/fundamentos/migracao-do-legado).
  version: 1.1.0
  contact: {}
servers:
  - url: https://api.jusfy.dev/calculators
security: []
tags:
  - name: Calculadoras
    description: >-
      Execução das calculadoras jurídicas e consulta dos índices de correção.
      Cada cálculo recebe um payload, retorna o resultado processado e exige API
      key no header `x-api-key`.
  - name: Consultas
    description: >-
      Consultas de dados (veículos, condutores e documentos). Cada consulta
      recebe o documento, retorna os dados encontrados e exige API key no header
      `x-api-key`. A maioria responde na mesma requisição; o **rastreamento
      veicular** e o **buscador processual** são assíncronos — devolvem `202`
      com um protocolo e entregam o resultado por webhook e/ou pelo `GET` do
      protocolo.
  - name: JusScore
    description: >-
      Consulta de processos judiciais por CPF/CNPJ, com score de risco
      consolidado e a lista detalhada dos processos. É assíncrona: o POST inicia
      a consulta e o GET devolve o resultado quando pronto. Exige API key no
      header `x-api-key`.
  - name: Consumo
    description: >-
      Consumo da própria API key: quantas chamadas cada produto recebeu num
      período, separando as cobradas das não cobradas. Não exige escopo; exige
      API key no header `x-api-key`.
  - name: Health
    description: >-
      Verificações de disponibilidade do serviço (liveness e readiness). Rotas
      abertas, sem autenticação.
paths:
  /api/v1/calculadoras/pasep:
    post:
      tags:
        - Calculadoras
      summary: Calcula a restituição de PASEP
      description: >-
        Calcula a restituição do PASEP corrigindo o valor da conta ano a ano por
        índice (TJLP, RAC, juros) a partir do valor inicial e dos lançamentos de
        crédito/débito. Informe o valor inicial (`initial_amount`), a
        moeda/posição desse valor (`initial_amount_date`: `1989` Cruzados ou
        `1999` Reais) e os lançamentos (`debit_credit_values`). A resposta traz
        o breakdown por período em `calculations` e o total a restituir em
        `amountRefund`.


        Lançamentos **sem** `type` são aceitos, mas ignorados no cálculo.
      operationId: CalculatorsController_pasep[1]_v1
      parameters: []
      requestBody:
        required: true
        description: Payload da calculadora de PASEP.
        content:
          application/json:
            schema:
              type: object
              description: >-
                Payload do cálculo de restituição de PASEP. Informe o valor
                inicial da conta, a moeda/posição desse valor e os lançamentos
                de crédito/débito; a resposta traz o breakdown ano a ano por
                índice e o total a restituir.
              required:
                - initial_amount
                - initial_amount_date
                - debit_credit_values
              properties:
                initial_amount:
                  type: number
                  description: Valor inicial da conta PASEP (`>= 0`).
                initial_amount_date:
                  type: string
                  enum:
                    - '1989'
                    - '1999'
                  description: >-
                    Moeda/posição do `initial_amount`: `1989` (Cruzados) ou
                    `1999` (Reais).
                debit_credit_values:
                  type: array
                  description: Lançamentos de crédito/débito na conta.
                  items:
                    type: object
                    description: >-
                      Lançamento de crédito/débito na conta. Um item sem `type`
                      é aceito, mas ignorado no cálculo.
                    required:
                      - date
                      - amount
                    properties:
                      date:
                        type: string
                        format: date
                        description: Data do lançamento (`YYYY-MM-DD`).
                      amount:
                        type: number
                        description: Valor do lançamento (`> 0`).
                      type:
                        type: string
                        enum:
                          - C
                          - D
                        description: 'Tipo do lançamento: `C` crédito, `D` débito. Opcional.'
            examples:
              pasep:
                summary: Restituição com crédito e débito
                value:
                  initial_amount: 1500
                  initial_amount_date: '1999'
                  debit_credit_values:
                    - date: '2001-03-10'
                      amount: 500
                      type: C
                    - date: '2010-07-20'
                      amount: 300
                      type: D
      responses:
        '200':
          description: Resultado do cálculo, com breakdown por período e total.
          content:
            application/json:
              schema:
                type: object
                example:
                  statusCode: 200
                  message: Cálculo concluído com sucesso
                  timestamp: '2026-06-22T18:00:00.000Z'
                  path: /api/v1/calculadoras/pasep
                  result:
                    calculations:
                      - id: 11
                        name: TJLP
                        start_date: '1998-07-01'
                        end_date: '1999-06-30'
                        rac_distribution: 2.617
                        due_monetary_update: 13.55
                        bank_monetary_update: 6.379
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 3
                        balanceDueRevision: 0
                        balanceDueIndexUpdated: 0
                        balanceDueBankUpdated: 0
                        balanceOfLosses: 0
                        credits: null
                        debits: null
                        transactions: null
                        totalCredits: null
                        totalDebits: null
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 12
                        name: TJLP
                        start_date: '1999-07-01'
                        end_date: '2000-06-30'
                        rac_distribution: 2.267
                        due_monetary_update: 13.115
                        bank_monetary_update: 6.021
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 3
                        balanceDueRevision: 1805.45
                        balanceDueIndexUpdated: 0
                        balanceDueBankUpdated: 0
                        balanceOfLosses: 0
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 13
                        name: TJLP
                        start_date: '2000-07-01'
                        end_date: '2001-06-30'
                        rac_distribution: 3.927
                        due_monetary_update: 10.061
                        bank_monetary_update: 3.419
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 3
                        balanceDueRevision: 2713.84
                        balanceDueIndexUpdated: 0
                        balanceDueBankUpdated: 0
                        balanceOfLosses: 0
                        credits:
                          - date: '2001-03-10'
                            amount: 500
                            type: C
                        debits: []
                        transactions:
                          - date: '2001-03-10'
                            credit: 500
                            debit: 0
                        totalCredits: 500
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 14
                        name: TJLP
                        start_date: '2001-07-01'
                        end_date: '2002-06-30'
                        rac_distribution: 0.901
                        due_monetary_update: 10.198
                        bank_monetary_update: 3.538
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 3
                        balanceDueRevision: 3290.42
                        balanceDueIndexUpdated: 0
                        balanceDueBankUpdated: 0
                        balanceOfLosses: 0
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 15
                        name: TJLP
                        start_date: '2002-07-01'
                        end_date: '2003-06-30'
                        rac_distribution: 1.731
                        due_monetary_update: 11.295
                        bank_monetary_update: 4.478
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 3
                        balanceDueRevision: 3878.17
                        balanceDueIndexUpdated: 0
                        balanceDueBankUpdated: 0
                        balanceOfLosses: 0
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 16
                        name: TJLP
                        start_date: '2003-07-01'
                        end_date: '2004-06-30'
                        rac_distribution: 1.606
                        due_monetary_update: 11.227
                        bank_monetary_update: 4.419
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 0
                        balanceDueRevision: 4654.38
                        balanceDueIndexUpdated: 0
                        balanceDueBankUpdated: 0
                        balanceOfLosses: 0
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 17
                        name: TJLP
                        start_date: '2004-07-01'
                        end_date: '2005-06-30'
                        rac_distribution: 0
                        due_monetary_update: 10.198
                        bank_monetary_update: 3.538
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 3
                        balanceDueRevision: 5417.87
                        balanceDueIndexUpdated: 0
                        balanceDueBankUpdated: 0
                        balanceOfLosses: 0
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 18
                        name: TJLP
                        start_date: '2005-07-01'
                        end_date: '2006-06-30'
                        rac_distribution: 1.911
                        due_monetary_update: 9.557
                        bank_monetary_update: 2.982
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 3
                        balanceDueRevision: 6328.6
                        balanceDueIndexUpdated: 0
                        balanceDueBankUpdated: 0
                        balanceOfLosses: 0
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 19
                        name: TJLP
                        start_date: '2006-07-01'
                        end_date: '2007-06-30'
                        rac_distribution: 3.877
                        due_monetary_update: 7.056
                        bank_monetary_update: 0.789
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 3
                        balanceDueRevision: 7489.88
                        balanceDueIndexUpdated: 0
                        balanceDueBankUpdated: 0
                        balanceOfLosses: 0
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 20
                        name: TJLP
                        start_date: '2007-07-01'
                        end_date: '2008-06-30'
                        rac_distribution: 4.427
                        due_monetary_update: 6.432
                        bank_monetary_update: 0.236
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 3
                        balanceDueRevision: 8828.99
                        balanceDueIndexUpdated: 0
                        balanceDueBankUpdated: 0
                        balanceOfLosses: 0
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 21
                        name: TJLP
                        start_date: '2008-07-01'
                        end_date: '2009-06-30'
                        rac_distribution: 4.427
                        due_monetary_update: 6.432
                        bank_monetary_update: 0.236
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 3
                        balanceDueRevision: 10401.65
                        balanceDueIndexUpdated: 0
                        balanceDueBankUpdated: 0
                        balanceOfLosses: 0
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 22
                        name: TJLP
                        start_date: '2009-07-01'
                        end_date: '2010-06-30'
                        rac_distribution: 3.364
                        due_monetary_update: 6.168
                        bank_monetary_update: 0
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 3
                        balanceDueRevision: 12254.43
                        balanceDueIndexUpdated: 0
                        balanceDueBankUpdated: 0
                        balanceOfLosses: 0
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 23
                        name: TJLP
                        start_date: '2010-07-01'
                        end_date: '2011-06-30'
                        rac_distribution: 2.411
                        due_monetary_update: 6.168
                        bank_monetary_update: 0
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 3
                        balanceDueRevision: 13954.82
                        balanceDueIndexUpdated: 300
                        balanceDueBankUpdated: 300
                        balanceOfLosses: 0
                        credits: []
                        debits:
                          - date: '2010-07-20'
                            amount: 300
                            type: D
                        transactions:
                          - date: '2010-07-20'
                            credit: 0
                            debit: 300
                        totalCredits: 0
                        totalDebits: 300
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 24
                        name: TJLP
                        start_date: '2011-07-01'
                        end_date: '2012-06-30'
                        rac_distribution: 1.207
                        due_monetary_update: 6.168
                        bank_monetary_update: 0
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 3
                        balanceDueRevision: 16083.12
                        balanceDueIndexUpdated: 345.75
                        balanceDueBankUpdated: 325.67
                        balanceOfLosses: 20.09
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 25
                        name: TJLP
                        start_date: '2012-07-01'
                        end_date: '2013-06-30'
                        rac_distribution: 1.3
                        due_monetary_update: 5.378
                        bank_monetary_update: 0
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 2.25
                        balanceDueRevision: 18318.1
                        balanceDueIndexUpdated: 393.8
                        balanceDueBankUpdated: 349.37
                        balanceOfLosses: 44.43
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 26
                        name: TJLP
                        start_date: '2013-07-01'
                        end_date: '2014-06-30'
                        rac_distribution: 2.4
                        due_monetary_update: 5.117
                        bank_monetary_update: 0
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 2
                        balanceDueRevision: 20580.79
                        balanceDueIndexUpdated: 442.44
                        balanceDueBankUpdated: 372.5
                        balanceOfLosses: 69.95
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 27
                        name: TJLP
                        start_date: '2014-07-01'
                        end_date: '2015-06-30'
                        rac_distribution: 1.93
                        due_monetary_update: 5.509
                        bank_monetary_update: 0
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 2.375
                        balanceDueRevision: 23260.78
                        balanceDueIndexUpdated: 500.06
                        balanceDueBankUpdated: 400.51
                        balanceOfLosses: 99.55
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 28
                        name: TJLP
                        start_date: '2015-07-01'
                        end_date: '2016-06-30'
                        rac_distribution: 1.4
                        due_monetary_update: 7.362
                        bank_monetary_update: 1.061
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 3
                        balanceDueRevision: 26360.48
                        balanceDueIndexUpdated: 566.7
                        balanceDueBankUpdated: 430.18
                        balanceOfLosses: 136.52
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 29
                        name: TJLP
                        start_date: '2016-07-01'
                        end_date: '2017-06-30'
                        rac_distribution: 1.4
                        due_monetary_update: 7.629
                        bank_monetary_update: 1.297
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 3
                        balanceDueRevision: 30419.2
                        balanceDueIndexUpdated: 653.95
                        balanceDueBankUpdated: 467.28
                        balanceOfLosses: 186.67
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 30
                        name: TJLP
                        start_date: '2017-07-01'
                        end_date: '2018-06-30'
                        rac_distribution: 2
                        due_monetary_update: 7.056
                        bank_monetary_update: 0.79
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 3
                        balanceDueRevision: 35190.13
                        balanceDueIndexUpdated: 756.52
                        balanceDueBankUpdated: 508.77
                        balanceOfLosses: 247.75
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 31
                        name: TJLP
                        start_date: '2018-07-01'
                        end_date: '2019-06-30'
                        rac_distribution: 0.6
                        due_monetary_update: 6.918
                        bank_monetary_update: 0.667
                        due_interest: 3
                        bank_interest: 3
                        additional_net_result: 0.6
                        balanceDueRevision: 40732.2
                        balanceDueIndexUpdated: 875.66
                        balanceDueBankUpdated: 554.42
                        balanceOfLosses: 321.23
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 32
                        name: TJLP
                        start_date: '2019-07-01'
                        end_date: '2020-06-30'
                        rac_distribution: 1.2
                        due_monetary_update: 5.523
                        bank_monetary_update: 0
                        due_interest: 2.747
                        bank_interest: 2.747
                        additional_net_result: 2.217
                        balanceDueRevision: 45388.57
                        balanceDueIndexUpdated: 975.76
                        balanceDueBankUpdated: 581.68
                        balanceOfLosses: 394.08
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 33
                        name: TJLP
                        start_date: '2020-07-01'
                        end_date: '2021-06-30'
                        rac_distribution: 0
                        due_monetary_update: 4.77
                        bank_monetary_update: 0
                        due_interest: 0
                        bank_interest: 0
                        additional_net_result: 0
                        balanceDueRevision: 50876.18
                        balanceDueIndexUpdated: 1093.73
                        balanceDueBankUpdated: 617.88
                        balanceOfLosses: 475.85
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 34
                        name: TJLP
                        start_date: '2021-07-01'
                        end_date: '2022-06-30'
                        rac_distribution: 0
                        due_monetary_update: 5.93
                        bank_monetary_update: 0
                        due_interest: 0
                        bank_interest: 0
                        additional_net_result: 0
                        balanceDueRevision: 53302.97
                        balanceDueIndexUpdated: 1145.9
                        balanceDueBankUpdated: 617.88
                        balanceOfLosses: 528.02
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 35
                        name: TJLP
                        start_date: '2022-07-01'
                        end_date: '2023-06-30'
                        rac_distribution: 0
                        due_monetary_update: 7.459
                        bank_monetary_update: 0
                        due_interest: 0
                        bank_interest: 0
                        additional_net_result: 0
                        balanceDueRevision: 56463.84
                        balanceDueIndexUpdated: 1213.86
                        balanceDueBankUpdated: 617.88
                        balanceOfLosses: 595.97
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 36
                        name: TJLP
                        start_date: '2023-07-01'
                        end_date: '2024-06-30'
                        rac_distribution: 0
                        due_monetary_update: 1.76
                        bank_monetary_update: 0
                        due_interest: 0
                        bank_interest: 0
                        additional_net_result: 0
                        balanceDueRevision: 60675.48
                        balanceDueIndexUpdated: 1304.4
                        balanceDueBankUpdated: 617.88
                        balanceOfLosses: 686.51
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2025-12-07T18:34:13.136Z'
                        updated_at: null
                      - id: 67
                        name: TJLP
                        start_date: '2024-07-01'
                        end_date: '2025-06-30'
                        rac_distribution: 0
                        due_monetary_update: 8.02
                        bank_monetary_update: 0
                        due_interest: 0
                        bank_interest: 0
                        additional_net_result: 0
                        balanceDueRevision: 61743.37
                        balanceDueIndexUpdated: 1327.36
                        balanceDueBankUpdated: 617.88
                        balanceOfLosses: 709.47
                        credits: []
                        debits: []
                        transactions: []
                        totalCredits: 0
                        totalDebits: 0
                        created_at: '2026-02-10T20:50:59.837Z'
                        updated_at: '2026-02-10T20:50:59.837Z'
                    amountRefund: 67461.56
        '401':
          description: >-
            API key ausente ou que não pertence a nenhum cliente (`code:
            invalid_api_key`). A `message` diz qual dos dois.
          content:
            application/json:
              examples:
                missing:
                  summary: Key ausente
                  value:
                    statusCode: 401
                    message: Missing API key
                    code: invalid_api_key
                    requestId: 9f1c2b7e-4d3a-4f8b-a6e2-1c0d9e8f7a65
                    timestamp: '2026-10-14T18:00:00.000Z'
                    path: /api/v1/calculadoras/trabalhista
                invalid:
                  summary: Key inválida
                  value:
                    statusCode: 401
                    message: Invalid API key
                    code: invalid_api_key
                    requestId: 9f1c2b7e-4d3a-4f8b-a6e2-1c0d9e8f7a65
                    timestamp: '2026-10-14T18:00:00.000Z'
                    path: /api/v1/calculadoras/trabalhista
        '403':
          description: >-
            Acesso negado. Dois motivos, distinguidos pelo `code`: o cliente não
            está ativo (`inactive_client`), ou a API key não tem o escopo deste
            produto (`insufficient_scope`, com o escopo na `message`). A
            liberação de produtos é feita pela equipe Jusfy.
          content:
            application/json:
              examples:
                inactive_client:
                  summary: Cliente não ativo
                  value:
                    statusCode: 403
                    message: Client is not active
                    code: inactive_client
                    requestId: 9f1c2b7e-4d3a-4f8b-a6e2-1c0d9e8f7a65
                    timestamp: '2026-10-14T18:00:00.000Z'
                    path: /api/v1/calculadoras/trabalhista
                insufficient_scope:
                  summary: Sem o escopo do produto
                  value:
                    statusCode: 403
                    message: 'Missing scope: <escopo>'
                    code: insufficient_scope
                    requestId: 9f1c2b7e-4d3a-4f8b-a6e2-1c0d9e8f7a65
                    timestamp: '2026-10-14T18:00:00.000Z'
                    path: /api/v1/calculadoras/trabalhista
        '422':
          description: Payload inválido. `message` indica o campo e o motivo.
          content:
            application/json:
              schema:
                example:
                  statusCode: 422
                  code: payload_rejected
                  message: 'Expected number, received null (property: fine)'
                  requestId: 9f1c2b7e-4d3a-4f8b-a6e2-1c0d9e8f7a65
                  timestamp: '2026-06-22T18:00:00.000Z'
                  path: /api/v1/calculadoras/pasep
        '429':
          description: >-
            Limite de requisições por minuto do cliente neste produto excedido.
            `Retry-After` diz em quantos segundos a janela vira. Toda resposta
            traz `X-RateLimit-Limit`, `X-RateLimit-Remaining` e
            `X-RateLimit-Reset`.
          content:
            application/json:
              schema:
                example:
                  statusCode: 429
                  code: rate_limit_exceeded
                  message: >-
                    Rate limit exceeded for calculadoras.trabalhista:execute: 60
                    requests per minute. Retry in 42s.
                  requestId: 9f1c2b7e-4d3a-4f8b-a6e2-1c0d9e8f7a65
                  timestamp: '2026-06-22T18:00:00.000Z'
                  path: /api/v1/calculadoras/trabalhista
        '502':
          description: Erro no motor de cálculo da Jusfy.
          content:
            application/json:
              schema:
                example:
                  statusCode: 502
                  code: upstream_error
                  message: Calculation backend error
                  requestId: 9f1c2b7e-4d3a-4f8b-a6e2-1c0d9e8f7a65
                  timestamp: '2026-06-22T18:00:00.000Z'
                  path: /api/v1/calculadoras/pasep
        '504':
          description: Tempo limite ao falar com o motor de cálculo.
          content:
            application/json:
              schema:
                example:
                  statusCode: 504
                  code: upstream_timeout
                  message: Calculation backend timed out
                  requestId: 9f1c2b7e-4d3a-4f8b-a6e2-1c0d9e8f7a65
                  timestamp: '2026-06-22T18:00:00.000Z'
                  path: /api/v1/calculadoras/pasep
      security:
        - api-key: []
components:
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: x-api-key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.