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

# Criar simulação de refinanciamento

> Cria uma nova simulação de refinanciamento selecionando a loja de integração pelo CNPJ (`cnpjLoja`).
A loja precisa estar vinculada ao parceiro autenticado e não pode ter contrato de intermediação.
O cliente precisa estar cadastrado com endereço, e o `valorSolicitado` precisa estar dentro da faixa refinanciável da placa.


Calcula as condições de refinanciamento e retorna **uma opção para cada prazo** em cuja faixa o valor solicitado cabe, cada uma com o seu `id_simulacao`.

**Exemplo:**

```json theme={null}
{
  "cpf": "12345678909",
  "placa": "ABC1D23",
  "valorSolicitado": 25000,
  "cnpjLoja": "11.222.333/0001-81"
}
```

> [!TIP]
>
> O cliente precisa estar cadastrado, e o `valorSolicitado` precisa estar dentro da [faixa refinanciável](https://documentacao.credicarro.com.br/pages/v2/simulation/range-refinancing.md). A UF vem do veículo; se a placa não a informar, é usado o estado do endereço do cliente.

> [!NOTE]
>
> Veja como ler cada campo da resposta na [referência de simulação](https://documentacao.credicarro.com.br/pages/v2/simulation/reference.md).


## OpenAPI

````yaml POST /v2/proposal/simulation/refinancing
openapi: 3.1.0
info:
  title: API Credicarro
  description: API para gerenciamento de cobranças e pagamentos usando o Credicarro.
  version: 1.0.0
servers:
  - url: https://api.staging.credicarro.com.br/integration
    description: Servidor para o ambiente de staging
  - url: https://api.credicarro.com.br/integration
    description: Servidor para o ambiente de produção
security: []
paths:
  /v2/proposal/simulation/refinancing:
    post:
      tags:
        - Simulação
      summary: Criar uma nova simulação de refinanciamento
      description: >
        Cria uma nova simulação de refinanciamento selecionando a loja de
        integração pelo CNPJ (`cnpjLoja`).

        A loja precisa estar vinculada ao parceiro autenticado e não pode ter
        contrato de intermediação.

        O cliente precisa estar cadastrado com endereço, e o `valorSolicitado`
        precisa estar dentro da faixa refinanciável da placa.
      parameters:
        - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - cpf
                - placa
                - valorSolicitado
                - cnpjLoja
              additionalProperties: false
              properties:
                cpf:
                  minLength: 11
                  type: string
                  description: >-
                    CPF do cliente, com ou sem pontuação (11 dígitos). Os
                    dígitos verificadores são validados.
                  example: '12345678909'
                placa:
                  type: string
                  description: >-
                    Placa do veículo no padrão antigo (ABC-1234) ou Mercosul
                    (ABC1D23)
                  example: ABC1D23
                valorSolicitado:
                  type: number
                  format: double
                  description: >-
                    Valor solicitado para refinanciamento, em reais. Deve estar
                    dentro da faixa refinanciável da placa.
                  example: 25000
                cnpjLoja:
                  type: string
                  description: >-
                    CNPJ da loja de integração vinculada ao parceiro, formatado
                    ou apenas números.
                  example: 11.222.333/0001-81
      responses:
        '201':
          description: Simulação criada com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimplifySimulationListResponse'
        '400':
          description: Erro na requisição
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          $ref: '#/components/responses/IntegrationInactive'
        '404':
          description: >-
            Cliente não encontrado (`Customer.Account.NotFound`) ou loja não
            encontrada ou não vinculada a este parceiro
            (`Store.Integration.NotFound`)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '409':
          description: >-
            A Idempotency-Key já foi usada com outro conteúdo
            (`Proposal.SimulationIdempotencyConflict`)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '422':
          description: >-
            Loja com intermediação (`Store.Integration.Intermediation`) ou regra
            de negócio não atendida (por exemplo,
            `Proposal.RequestAmountInvalid`,
            `Simulation.Refinancing.AmountOutOfRange`,
            `Simulation.Terms.Unavailable` ou
            `Simulation.Refinancing.UfUnavailable`)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      security:
        - bearerAuth: []
components:
  parameters:
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      required: false
      description: >
        Chave opcional (1 a 200 caracteres) para repetir a requisição com
        segurança. Reenviar a mesma chave com o mesmo

        conteúdo devolve o resultado original sem duplicar o registro;
        reutilizá-la com outro conteúdo retorna erro.
      schema:
        type: string
        maxLength: 200
        example: 6f1c9a2e-3b7d-4e2a-9c51-0d8f3a7b2e10
  schemas:
    SimplifySimulationListResponse:
      type: object
      properties:
        simulacoes:
          type: array
          description: Uma simulação por prazo disponível
          items:
            type: object
            properties:
              id_simulacao:
                type: string
                format: uuid
                description: >-
                  Identificador da simulação (use em `simulacaoId` ao criar a
                  proposta)
                example: 123e4567-e89b-12d3-a456-426614174000
              valor_solicitado:
                type: number
                format: double
                example: 40000
              prazo:
                type: integer
                format: int32
                description: Prazo em meses
                example: 36
              valor_parcela:
                type: number
                format: double
                example: 2042.42
              valor_tac:
                type: number
                format: double
                example: 1500
              valor_boleto:
                type: number
                format: double
                example: 3.5
              valor_seguro:
                type: number
                format: double
                example: 0
              valor_iof:
                type: number
                format: double
                example: 872
              percentual_iof:
                type: number
                format: double
                example: 1.92
              valor_credito_total:
                type: number
                format: double
                example: 42722
              valor_divida_total:
                type: number
                format: double
                example: 73527.12
              percentual_cet_mensal:
                type: number
                format: double
                example: 3.62
              percentual_cet_anual:
                type: number
                format: double
                example: 53.25
              percentual_juros_mensal:
                type: number
                format: double
                example: 3.29
              percentual_juros_anual:
                type: number
                format: double
                example: 47.53
              valor_retencao_diaria_aproximado:
                type: number
                format: double
                description: >-
                  Valor aproximado de retenção diária. Omitido quando não se
                  aplica.
    ProblemDetails:
      type: object
      properties:
        tipo:
          type: string
          description: Tipo de problema encontrado
          example: Validation.Cpf.Invalid
        titulo:
          type: string
          description: Título do erro
          example: Requisição inválida
        status:
          type: integer
          format: int32
          description: Status Code do erro
          example: 400
        detalhe:
          type: string
          description: Descrição do erro
          example: O CPF informado em 'cpf' é inválido.
        campo:
          type: string
          nullable: true
          description: Campo da requisição relacionado ao erro, quando houver
          example: cpf
        erros:
          type: array
          description: >-
            Lista de erros. Presente só quando o JSON enviado está malformado ou
            tem um valor de tipo errado.
          items:
            type: object
            properties:
              codigo:
                type: string
                description: Código estável do erro
                example: Validation.InvalidFormat
              mensagem:
                type: string
                description: Mensagem em português
                example: O valor informado para 'valorVeiculo' não é um número válido.
              campo:
                type: string
                nullable: true
                description: Campo inválido, quando houver
                example: cpf
      additionalProperties: false
  responses:
    IntegrationInactive:
      description: >-
        Integração do parceiro inativa ou não encontrada
        (`Integration.Access.Inactive`,
        `Integration.Access.OrganizationNotFound`)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Cabeçalho de autenticação Bearer no formato `Bearer <token>` onde
        `<token>` é seu TOKEN de autenticação

````

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