openapi: 3.0.0 info: title: API Payroll Credit Portability - Open Finance Brasil description: | A API de Portabilidade de Crédito Consignado permite que usuários transfiram suas operações de crédito e arrendamento mercantil entre instituições financeiras em busca de melhores condições para o Open Finance Brasil. # Orientações ## Assinatura de payloads: No contexto da API de Portabilidade de crédito, os payloads de mensagem que trafegam tanto por parte da instituição credora quanto por parte da instituição proponente devem estar assinados. Para o processo de assinatura destes payloads as instituições devem seguir as especificações de segurança publicadas no Portal do desenvolvedor   - Certificados exigidos para assinatura de mensagens: [[PT] Padrão de Certificados Open Finance Brasil 2.1](https://openfinancebrasil.atlassian.net/wiki/spaces/OF/pages/245694518)   - Como assinar o payload JWS: [Como Assinar o Payload](https://openfinancebrasil.atlassian.net/wiki/spaces/OF/pages/905740608) ## Controle de Acesso - Os endpoints [GET] /portabilities/{portabilityId}, [GET] /portabilities/{portabilityId}/account-data, [POST] /portabilities/{portabilityId}/payment, [PATCH] / portabilities/{portabilityId}/cancel da API de Portabilidade de crédito devem utilizar o escopo client_credentials - Os endpoints [GET] /credit-operations/{contractId}/portability-eligibility e [POST] /portabilities devem utilizar o escopo authorization_code para validar a permissions de LOANS ## Validações para Portabilidade de Crédito **- Validações** (após o processo de DCR e obtenção de token client credential - não escopo dessa documentação):  Durante o processo de portabilidade de crédito, diferentes validações são necessárias pela instituição credora e devem ocorrer conforme a seguir: **- Casos de erro relacionados às permissões de segurança para acesso à API** (ex. certificado, access_token, jwt, assinatura): Validação de Certificado: Valida utilização de certificado correto durante processo de DCR - HTTP Code 401 (`INVALID_CLIENT`); Validação de Access_Token: Verifica se Access_Token utilizado está correto - HTTP Code 401 (`UNAUTHORIZED`); Validação de assinatura da mensagem: Valida se assinatura das mensagens enviadas está correta – HTTP Code 400 (`BAD_SIGNATURE`); Validação de Claims (exceto data);  - Valida se dados (aud, iss, iat e jti) são válidos - HTTP status code 403 - (`INVALID_CLIENT`);  - Valida reuso de jti - HTTP Code 403 (`INVALID_CLIENT`). ## Validações de erros sintáticos e semânticos, previstas com retorno HTTP Code 422 - Unprocessable Entity **- Para todos os endpoints:**   **Sintáticos**  - Envio de campos obrigatórios: Valida se todos os campos obrigatórios são informados (`PARAMETRO_NAO_INFORMADO`);  - Formatação de parâmetros: Valida se parâmetros informados obedecem a formatação especificada (`PARAMETRO_INVALIDO`).  - Demais validações não explicitamente informadas (`NAO_INFORMADO`) **- Para endpoint ([POST] /portabilities):**   **Semânticos**  - Portabilidade em andamento: Valida se já existe um pedido de portabilidade de crédito para o contrato solicitado pelo trilho do OFB ou da Registradora (`EM_ANDAMENTO`);  - Prazo do empréstimo maior ao restante das parcelas a serem liquidadas no contrato original (`PRAZO_ACIMA_LIMITE`);  - ID de contrato inválida (`CONTRATO_INVALIDO`);  - Contrato não elegível para portabilidade dentro do trilho do OFB (`CONTRATO_NAO_ELEGIVEL`);  - Idempotência: Valida se há divergência entre chave de idempotência e informações enviadas (`ERRO_IDEMPOTENCIA`);  - Evidência de assinatura do contrato: Valida se o objeto de assinatura do contrato foi preenchido pela instituição proponente devidamente, em caso de ausência (`SEM_EVIDENCIA_ASSINATURA`);  - Periodicidade: Valida se não houve mudança na periodicidade entre o novo contrato e o contrato original, caso tenha sido alterado a periodicidade (`PERIODICIDADE_INVALIDA`);  - Campo com preenchimento incorreto: Valida se o preenchimento de alguns campos estão corretos Ex.: CNPJ da instituição credora deve ser o mesmo retornado pela API de Empréstimos (`CAMPO_INCONSISTENTE`)  - Saldo devedor divergente: Valida se o preenchimento do saldo da proposta é divergente (maior ou a menor) do saldo devedor, comparado com o retornado na API de Empréstimos no instante da chamada (`VALOR_DIVERGENTE`) **- Para endpoint ([POST] /portabilities/{portabilityId}/payment):**   **Semânticos**  - Estado da portabilidade diferente de `ACCEPTED_SETTLEMENT_IN_PROGRESS` ou `PAYMENT_ISSUE` (`PAGAMENTO_EFETUADO_FORA_PRAZO`). Obs.: Caso o pagamento tenha sido feito por engano a Instituição Proponente deve solicitar o estorno. **- Para endpoint ([PATCH] /portabilities/{portabilityId}/cancel):**   **Semânticos**  - Estado da portabilidade diferente de `RECEIVED`, `PENDING` ou `ACCEPTED_SETTLEMENT_IN_PROGRESS` (`CANCELAMENTO_NAO_EFETUADO`). Obs.: De acordo com o PRD o usuário poderá cancelar o pedido de portabilidade até a etapa de liquidação, após esta etapa não será mais permitido o cancelamento da portabilidade **- Para endpoint ([POST] /portabilities/{portabilityId}/request_discharge):**   **Semânticos**  - Estado da portabilidade diferente de AWAITING_CONTRACT_DISCHARGE (SOLICITAÇÃO_NÃO_EFETUADA). Para relembrar a instituição credora que o contrato ainda está pendente de desaverbação o estado da máquina deverá ser AWAITING_CONTRACT_DISCHARGE version: 1.0.0-RC.1 license: name: Apache 2.0 url: 'https://www.apache.org/licenses/LICENSE-2.0' contact: name: Governança do Open Finance Brasil – Especificações email: gt-interfaces@openbankingbr.org url: 'https://openbanking-brasil.github.io/areadesenvolvedor/' servers: - url: 'https://api.banco.com.br/open-banking/payroll-credit-portability/v1' description: Servidor de Produção - url: 'https://apih.banco.com.br/open-banking/payroll-credit-portability/v1' description: Servidor de Homologação tags: - name: Account data description: 'Informação dos dados bancários para liquidação de contrato via STR exclusiva do OFB.' - name: Concurrency Management description: 'Para evitar o envio de múltiplas solicitações de portabilidade para o mesmo contrato, as instituições devem implementar mecanismos que permitam: recusar solicitações simultâneas de portabilidade de crédito referentes ao mesmo contrato, seja por meio da registradora ou do Open Finance Brasil (OFB), priorizando sempre a solicitação mais antiga.' - name: Credit Portability description: 'Permite que usuários transfiram suas operações de crédito e arrendamento mercantil entre instituições financeiras em busca de melhores condições.' - name: Registering Entity description: 'Fornece dados do contrato consignado junto a averbadora.' - name: Payments description: 'Conjunto de endpoints relacionado ao pagamento via STR de um contrato de empréstimo.' paths: '/portabilities/{portabilityId}/account-data': get: tags: - Account data summary: Obtém os dados necessários para realização do pagamento da operação via TED. description: Método responsável por recuperar informações de contas para realização do pagamento via TED. operationId: payrollCreditPortabilityGetPortabilitiesPortabilityIdAccountData parameters: - $ref: '#/components/parameters/portabilityId' - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/xCustomerUserAgent' responses: '200': $ref: '#/components/responses/OKResponseAccountData' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '504': $ref: '#/components/responses/GatewayTimeout' '529': $ref: '#/components/responses/SiteIsOverloaded' default: $ref: '#/components/responses/Default' security: - OAuth2ClientCredentials: - payroll-credit-portability '/credit-operations/{contractId}/portability-eligibility': get: tags: - Concurrency Management summary: Informa se um contrato pertencente a um determinado cliente estará habilitado para a realização do pedido de portabilidade de crédito considerando a regra de só existir um pedido de portabilidade para um determinado contrato. operationId: payrollCreditPortabilityGetCreditOperationsContratIdPortabilityEligibility description: Informa se o contrato está disponível para solicitação de portabilidade de crédito. parameters: - $ref: '#/components/parameters/contractId' - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/xCustomerUserAgent' responses: '200': $ref: '#/components/responses/OKResponsePortabilityEligibility' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '504': $ref: '#/components/responses/GatewayTimeout' '529': $ref: '#/components/responses/SiteIsOverloaded' default: $ref: '#/components/responses/Default' security: - OAuth2AuthorizationCodeLoans: - openId - 'consent:consentId' - loans '/portabilities': post: tags: - Credit Portability summary: Realiza pedido de portabilidade de crédito para um determinado contrato junto a instituição credora operationId: payrollCreditPortabilityPostPortabilities description: Solicitação de portabilidade de crédito via OFB. parameters: - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/xCustomerUserAgent' - $ref: '#/components/parameters/xIdempotencyKey' requestBody: content: application/jwt: schema: $ref: '#/components/schemas/RequestCreditPortability' description: Payload para o pedido de portabilidade de crédito. required: true responses: '202': $ref: '#/components/responses/POSTResponseCreditPortability' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '422': $ref: '#/components/responses/UnprocessableEntityPostPortabilities' '500': $ref: '#/components/responses/InternalServerError' '504': $ref: '#/components/responses/GatewayTimeout' '529': $ref: '#/components/responses/SiteIsOverloaded' default: $ref: '#/components/responses/Default' security: - OAuth2AuthorizationCodeLoans: - openId - 'consent:consentId' - loans '/portabilities/{portabilityId}': get: tags: - Credit Portability summary: Consulta portabilidade de crédito através da propriedade portabilityId. description: Endpoint responsável por consultar pedidos de portabilidade de crédito. operationId: payrollCreditPortabilityGetPortabilitiesByPortabilityId parameters: - $ref: '#/components/parameters/portabilityId' - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/xCustomerUserAgent' responses: '200': $ref: '#/components/responses/OKResponsePortabilitiesByPortabilityId' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '504': $ref: '#/components/responses/GatewayTimeout' '529': $ref: '#/components/responses/SiteIsOverloaded' default: $ref: '#/components/responses/Default' security: - OAuth2ClientCredentials: - payroll-credit-portability '/portabilities/{portabilityId}/cancel': patch: tags: - Credit Portability summary: Comunica a Instituição Credora a respeito do cancelamento da portabilidade de crédito. description: Comunica a Instituição Credora a respeito do cancelamento da portabilidade de crédito. operationId: payrollCreditPortabilityPatchPortabilitiesPortabilityIdCancel parameters: - $ref: '#/components/parameters/portabilityId' - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/xCustomerUserAgent' requestBody: content: application/jwt: schema: $ref: '#/components/schemas/RequestCreditPortabilityCancel' description: Payload para comunicar a Instituição Credora a respeito do cancelamento da portabilidade de crédito. required: true responses: '200': $ref: '#/components/responses/PatchResponseCreditPortabilityCancel' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '422': $ref: '#/components/responses/UnprocessableEntityPatchCancel' '500': $ref: '#/components/responses/InternalServerError' '504': $ref: '#/components/responses/GatewayTimeout' '529': $ref: '#/components/responses/SiteIsOverloaded' default: $ref: '#/components/responses/Default' security: - OAuth2ClientCredentials: - payroll-credit-portability '/credit-operations/{contractId}/registering-entity': get: tags: - Registering Entity summary: Obtém os dados necessários para identificar o contrato a ser portado junto a averbadora. description: 'Obtém os dados necessários para identificar o contrato a ser portado junto a averbadora. Obs.: Este endpoint deverá ser utilizado momentos antes da consulta da proposta do cliente para validar se o cliente deu o consentimento para aquele contrato.' operationId: payrollCreditPortabilityGetCreditOperationsContractIdRegisteringEntity parameters: - $ref: '#/components/parameters/contractId' - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/xCustomerUserAgent' responses: '200': $ref: '#/components/responses/OKResponseRegisteringEntity' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' '504': $ref: '#/components/responses/GatewayTimeout' '529': $ref: '#/components/responses/SiteIsOverloaded' default: $ref: '#/components/responses/Default' security: - OAuth2ClientCredentials: - payroll-credit-portability '/portabilities/{portabilityId}/payment': post: tags: - Payments summary: Comunica a Instituição Credora a respeito da liquidação da portabilidade de crédito. description: Comunica a Instituição Credora a respeito da liquidação da portabilidade de crédito. operationId: payrollCreditPortabilityGetPortabilitiesPortabilityIdPayment parameters: - $ref: '#/components/parameters/portabilityId' - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/xCustomerUserAgent' requestBody: content: application/jwt: schema: $ref: '#/components/schemas/RequestCreditPortabilityPayment' description: Payload para comunicar a liquidação efetuada pela proponente a credora e iniciar a proxima etapa do fluxo de portabilidade de crédito. required: true responses: '202': $ref: '#/components/responses/POSTResponseCreditPortabilityPayment' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '422': $ref: '#/components/responses/UnprocessableEntityPostPayments' '500': $ref: '#/components/responses/InternalServerError' '504': $ref: '#/components/responses/GatewayTimeout' '529': $ref: '#/components/responses/SiteIsOverloaded' default: $ref: '#/components/responses/Default' security: - OAuth2ClientCredentials: - payroll-credit-portability '/portabilities/{portabilityId}/request-discharge': post: tags: - Payments summary: Endpoint usado para relembrar a instituição credora que a desaverbação do contrato ainda está pendente. description: Relembra a instituição credora que a desaverbação do contrato junto a averbadora inda está pendente. operationId: payrollCreditPortabilityPostPortabilitiesPortabilityIdRequestDischarge parameters: - $ref: '#/components/parameters/portabilityId' - $ref: '#/components/parameters/Authorization' - $ref: '#/components/parameters/xFapiAuthDate' - $ref: '#/components/parameters/xFapiCustomerIpAddress' - $ref: '#/components/parameters/xFapiInteractionId' - $ref: '#/components/parameters/xCustomerUserAgent' requestBody: content: application/jwt: schema: $ref: '#/components/schemas/RequestCreditPortabilityRequestDischarge' description: Payload para relembra a instituição credora que a desaverbação do contrato junto a averbadora inda está pendente. required: true responses: '202': $ref: '#/components/responses/POSTResponseCreditPortabilityRequestDischarge' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '422': $ref: '#/components/responses/UnprocessableEntityPostRequestDischarge' '500': $ref: '#/components/responses/InternalServerError' '504': $ref: '#/components/responses/GatewayTimeout' '529': $ref: '#/components/responses/SiteIsOverloaded' default: $ref: '#/components/responses/Default' security: - OAuth2ClientCredentials: - payroll-credit-portability components: schemas: ResponseAccountData: type: object required: - data - links - meta properties: data: type: object description: Dados para realização do pagamento da operação via TED required: - strCode properties: strCode: type: object required: - ispb - branchCode - hasFinancialAgent properties: ispb: type: string pattern: '^[0-9A-Z]{8}$' maxLength: 8 minLength: 8 description: Número do ISPB da Instituição credora a ser usada na STR para pagamento de portabilidade de crédito exclusiva para o OFB. example: '22896431' name: type: string description: | Nome do proprietário da conta a ser usada na STR para pagamento de portabilidade de crédito exclusiva para o OFB. [RESTRIÇÃO] campo de preenchimento obrigatório quando campo `hasFinancialAgent` for igual a true pattern: '^(?!\s)[\w\W\s]*[^\s]$' maxLength: 80 minLength: 1 example: 'Instituicao Credora' companyCnpj: type: string description: | CNPJ do proprietário da conta a ser usada na STR para pagamento de portabilidade de crédito exclusiva para o OFB. [RESTRIÇÃO] campo de preenchimento obrigatório quando campo `hasFinancialAgent` for igual a true pattern: '^[0-9A-Z]{12}[0-9]{2}$' maxLength: 14 minLength: 14 example: '21128159000166' branchCode: type: number description: Número da Agência creditada a ser usada na STR para pagamento de portabilidade de crédito exclusiva para o OFB. example: 0001 hasFinancialAgent: type: boolean description: Instituição trabalha com agente financeiro ao invés da conta reserva? example: true accountNumber: type: number description: | Número da conta bancária da credora a ser usada na STR para pagamento de portabilidade de crédito exclusiva para o OFB. [RESTRIÇÃO] campo de preenchimento obrigatório quando campo `hasFinancialAgent` for igual a true example: 12345678 links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/Meta' ResponsePortabilityEligibility: type: object required: - data properties: data: type: object description: Conjunto de informações de contratos de empréstimos/financiamentos mantidos pelo cliente na instituição credora e para os quais ele tenha fornecido consentimento required: - contractId - portability properties: contractId: type: string pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$' maxLength: 100 minLength: 1 example: '92792126019929279212650822221989319252576' description: 'Identifica de forma única o contrato da operação de crédito do cliente, mantendo as regras de imutabilidade dentro da instituição transmissora.' portability: type: object required: - isEligible properties: isEligible: type: boolean description: Sinaliza se as características do contrato é elegível para pedido de portabilidade de crédito via OFB (sem considerar a disponibilidade da portabilidade de crédito) ineligible: type: object required: - reasonType description: | Objeto para auxiliar a Instituição Proponente a entender o porque um contrato está inelegivel para pedido de portabilidade de crédito [RESTRIÇÃO] Campo de preenchimento obrigatório quando o campo `isEligible` for igual a `FALSE` properties: reasonType: type: string example: CLIENTE_COM_ACAO_JUDICIAL enum: - CONTRATO_LIQUIDADO - CLIENTE_COM_ACAO_JUDICIAL - MODALIDADE_OPERACAO_INCOMPATIVEL - FLUXO_COM_PARCELA_IRREGULAR - TIPO_PESSOA_INVALIDO - OUTROS description: | Informação sobre a disponibilidade ou não de um contrato para a portabilidade de crédito Informação sobre o motivo de inelegibilidade -`CONTRATO_LIQUIDADO`: Contrato liquidado pelo cliente. -`CLIENTE_COM_ACAO_JUDICIAL`: Cliente possui ação judicial -`MODALIDADE_OPERACAO_INCOMPATIVEL`: Caso o contrato tenha uma modalidade diferente do praticado no escopo de modalidades disponiveis para portabilidade de crédito -`FLUXO_COM_PARCELA_IRREGULAR`: Empréstimos com fluxo de pagamento irregular -`TIPO_PESSOA_INVALIDO`: Empréstimo pertence a um tipo de pessoa diferente de pessoa natural -`OUTROS`: Caso exista algum motivo de recusa que não se encaixa nas opções disponiveis de `reasonType`, o campo `reasonTypeAdditionalInfo` deverá ser preenchido com o motivo da inelegibilidade. reasonTypeAdditionalInfo: description: | Informação sobre a disponibilidade ou não de um contrato para a portabilidade de crédito. Deve ser preenchido como uma proposta para inclusão nas definições, exemplo `MOTIVO_NAO_MAPEADO`: descrição de usar esse motivo específico. Ao utilizar essa opção, é obrigatório enviar um ticket para a estrutura open finance para mapeamento em futuras versões. [RESTRIÇÃO] Campo de preenchimento obrigatório quando o campo `reasonType` for igual a `OUTROS`. type: string status: type: string description: | Informação sobre a disponibilidade ou não de um contrato para a portabilidade de crédito [RESTRIÇÃO] Campo de preenchimento obrigatório quando o campo `isEligible` for igual a `TRUE` enum: - DISPONIVEL - EM_ANDAMENTO statusUpdateDateTime: type: string maxLength: 20 pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$ example: "2020-07-21T08:30:00Z" description: | Data e hora em que o contrato teve o status atualizado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). [RESTRIÇÃO] Campo de preenchimento obrigatório quando o campo `isEligible` for igual a `TRUE` channel: type: string description: | Informação sobre a disponibilidade ou não de um contrato para a portabilidade de crédito [RESTRIÇÃO] Campo de preenchimento obrigatório quando o campo `status` for igual a `EM_ANDAMENTO` enum: - OFB - REGISTRADORA companyName: type: string pattern: '^(?!\s)[\w\W\s]*[^\s]$' maxLength: 80 example: Empresa da Organização A description: | Nome da Instituição Proponente responsável pelo pedido de portabilidade de credito anterior a atual consulta p.ex.Empresa A. [RESTRIÇÃO] Campo de preenchimento obrigatório quando o campo `status` for igual a `EM_ANDAMENTO` companyCnpj: type: string pattern: '^[0-9A-Z]{12}[0-9]{2}$' maxLength: 14 minLength: 14 example: '21128159000166' description: | Número completo do CNPJ da instituição O CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica. Deve-se ter apenas números do CNPJ, sem máscara [RESTRIÇÃO] Campo de preenchimento obrigatório quando o campo `status` for igual a `EM_ANDAMENTO` links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/Meta' RequestCreditPortability: type: object required: - data properties: data: type: object description: Conjunto de informações referentes à Proposta de Portabilidade de Crédito da Proponente para a Credora required: - customerContact - institution - contractIdentification - proposedContract - creationDateTime properties: customerContact: type: array minItems: 0 description: Dados de contato do cliente items: type: object required: - type - value properties: type: type: string enum: - TELEFONE - EMAIL description: "Tipo do contato do cliente." value: type: string pattern: ^([1-9]{2}(?:[2-8]|9[0-9])[0-9]{3}[0-9]{4})|([a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,})$ example: "11999999999" institution: type: object description: Informações sobre proponente e credora participantes do presente pedido de portabilidade de crédito required: - creditor - proposing properties: creditor: type: object description: Informações sobre a instituição credora required: - companyName - companyCnpj properties: companyName: type: string pattern: '^[^\s](?:.*[^\s])?$' maxLength: 80 example: Instituição Credora description: 'Nome da Instituição Credora.' companyCnpj: type: string pattern: '^[0-9A-Z]{12}[0-9]{2}$' maxLength: 14 example: '21128159000166' description: 'Número completo do CNPJ da instituição responsável pelo Cadastro - o CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica. Deve-se ter apenas os números do CNPJ, sem máscara.' proposing: type: object description: Informações sobre a instituição proponente required: - companyName - companyCnpj properties: companyName: type: string pattern: '^[^\s](?:.*[^\s])?$' maxLength: 80 example: Instituição Proponente description: 'Nome da Instituição Proponente' companyCnpj: type: string pattern: '^[0-9A-Z]{12}[0-9]{2}$' maxLength: 14 example: '21128159000166' description: 'Número completo do CNPJ da instituição responsável pelo Cadastro - o CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica. Deve-se ter apenas os números do CNPJ, sem máscara.' contact: type: array minItems: 1 items: type: object properties: type: type: string enum: - EMAIL - TELEFONE description: "Tipo do contato da Instituição Proponente." value: type: string pattern: ^([1-9]{2}(?:[2-8]|9[0-9])[0-9]{3}[0-9]{4})|([a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,})$ example: "contato@instituicaoproponente.com.br" contractIdentification: type: object required: - contractId - contractNumber - ipocCode properties: contractId: type: string pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ maxLength: 100 minLength: 1 example: "92792126019929279212650822221989319252576" description: "Identifica de forma única o contrato da operação de crédito do cliente, mantendo as regras de imutabilidade dentro da instituição transmissora." contractNumber: type: string pattern: ^[\w\W]{1,100}$ maxLength: 100 minLength: 1 example: "1324926521496" description: "Número do contrato dado pela instituição contratante." ipocCode: type: string pattern: ^[\w\W]{22,67}$ maxLength: 67 minLength: 22 example: "92792126019929279212650822221989319252576" description: | Número padronizado do contrato - IPOC (Identificação Padronizada da Operação de Crédito). Segundo DOC 3040, composta por: CNPJ da instituição: 8 (oito) posições iniciais; Modalidade da operação: 4 (quatro) posições; Tipo do cliente: 1 (uma) posição( 1 = pessoa natural - CPF, 2= pessoa jurídica – CNPJ, 3 = pessoa física no exterior, 4 = pessoa jurídica no exterior, 5 = pessoa natural sem CPF e 6 = pessoa jurídica sem CNPJ); - Código do cliente: O número de posições varia conforme o tipo do cliente: Para clientes pessoa física com CPF (tipo de cliente = 1), informar as 11 (onze) posições do CPF; Para clientes pessoa jurídica com CNPJ (tipo de cliente = 2), informar as 8 (oito) posições iniciais do CNPJ; Para os demais clientes (tipos de cliente 3, 4, 5 e 6), informar 14 (catorze) posições com complemento de zeros à esquerda se a identificação tiver tamanho inferior; - Código do contrato: 1 (uma) até 40 (quarenta) posições, sem complemento de caracteres proposedContract: type: object minItems: 1 description: Proposta da Proponente para Portabilidade de Crédito required: - interestRates - contractedFees - contractedFinanceCharges - digitalSignatureProof - CET - amortizationScheduled - instalmentPeriodicity - totalNumberOfInstalments - instalmentAmount - dueDate - contractAmount properties: interestRates: type: array description: | Objeto que traz o conjunto de informações necessárias para demonstrar a composição das taxas de juros remuneratórios da Modalidade de crédito. Caso o contrato não possua taxas de juros, deve ser compartilhada uma lista vazia. Caso o contrato possua uma taxa de juros com valor 0, deve ser compartilhado um objeto com o valor 0 de forma explícita. minItems: 0 items: $ref: '#/components/schemas/LoansContractInterestRate' contractedFees: type: array description: Lista que traz as informações das tarifas pactuadas no contrato. minItems: 0 items: type: object description: Objeto que traz o conjunto de informações necessárias para demonstrar a composição das taxas de juros remuneratórios da Modalidade de crédito required: - feeName - feeCode - feeChargeType - feeCharge properties: feeName: type: string maxLength: 140 pattern: '^[^\s](?:.*[^\s])?$' description: Denominação da Tarifa pactuada example: Renovação de cadastro feeCode: type: string maxLength: 140 pattern: '^[^\s](?:.*[^\s])?$' description: Sigla identificadora da tarifa pactuada example: CADASTRO feeChargeType: type: string description: Tipo de cobrança para a tarifa pactuada no contrato. enum: - UNICA - POR_PARCELA example: UNICA feeCharge: type: string description: | "Forma de cobrança relativa a tarifa pactuada no contrato. (Vide Enum) - Mínimo - Máximo - Fixo - Percentual" enum: - MINIMO - MAXIMO - FIXO - PERCENTUAL example: MINIMO feeAmount: type: object minItems: 1 description: | Objeto para representar o valor monetário da tarifa pactuada no contrato. [Restrição] Preenchimento obrigatório quando a forma de cobrança for diferente de Percentual. required: - amount - currency properties: amount: type: string format: double maxLength: 20 minLength: 4 pattern: '^\d{1,15}\.\d{2,4}$' example: '1000.0400' description: Valor monetário da tarifa pactuada no contrato. currency: type: string maxLength: 3 minLength: 3 pattern: '^(\w{3}){1}$' example: 'BRL' description: Moeda referenciada ao campo `amount`, segundo modelo ISO-4217. feeRate: type: string pattern: '^\d{1}\.\d{6}$' format: double maxLength: 8 minLength: 8 description: | É o valor da tarifa em percentual pactuada no contrato. [Restrição] Preenchimento obrigatório quando a forma de cobrança for Percentual. example: '0.062000' contractedFinanceCharges: type: array description: Lista que traz os encargos pactuados no contrato minItems: 0 items: type: object description: Conjunto de informações referentes à identificação da operação de crédito required: - chargeType - chargeRate properties: chargeType: type: string description: Tipo de encargo pactuado no contrato. enum: - JUROS_REMUNERATORIOS_POR_ATRASO - MULTA_ATRASO_PAGAMENTO - JUROS_MORA_ATRASO - IOF_CONTRATACAO - IOF_POR_ATRASO - SEM_ENCARGO - OUTROS example: JUROS_REMUNERATORIOS_POR_ATRASO chargeAdditionalInfo: type: string maxLength: 140 description: | Campo para informações adicionais. [Restrição] Obrigatório se selecionada a opção 'OUTROS' em Tipo de encargo pactuado no contrato. pattern: '^[^\s](?:.*[^\s])?$' example: Informações adicionais sobre encargos. chargeRate: type: string pattern: '^\d{1}\.\d{6}$' format: double maxLength: 8 minLength: 8 description: | Representa o valor do encargo em percentual pactuado no contrato. O preenchimento deve respeitar as 6 casas decimais, mesmo que venham preenchidas com zeros(representação de porcentagem p.ex: 0.150000. Este valor representa 15%. O valor 1 representa 100%). example: '0.070000' digitalSignatureProof: type: object required: - documentId - signatureDateTime properties: documentId: type: string pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ maxLength: 100 minLength: 1 example: 54d5348c-1a3f-4ff4-a8a8-d0724fb806c6 description: "Código identificador do Documento assinado na instituição proponente." signatureDateTime: type: string maxLength: 20 pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$ example: "2020-07-21T08:30:00Z" description: | Data e hora em que o contrato foi assinado pelo cliente no canal digital da Instituição Proponente CET: type: string pattern: ^\d{1,6}\.\d{6}$ maxLength: 13 minLength: 8 example: "0.290000" description: | CET – Custo Efetivo Total deve ser expresso na forma de taxa percentual anual e incorpora todos os encargos e despesas incidentes nas operações de crédito (taxa de juro, mas também tarifas, tributos, seguros e outras despesas cobradas). O preenchimento deve respeitar as 6 casas decimais, mesmo que venham preenchidas com zeros (representação de porcentagem p.ex: 0.150000. Este valor representa 15%. O valor 1 representa 100%). Para o público PF (pessoa física) o campo é de envio obrigatório para contratos firmados a partir de 2008, conforme Resolução CMN 3.517. Para o público PJ (pessoa jurídica) o campo é de envio obrigatório para contratos firmados a partir de 2011, conforme Resolução CMN 3.909. O campo poderá ser preenchido com 0.00 em cenários nos quais a casa não tenha a informação de CET (Custo efetivo total) apenas para as exceções listadas abaixo: - Em contratos anteriores a 2008 (para o público PF); - Em contratos anteriores a 2011 (para o público PJ); - Público PJ de médio ou grande porte. amortizationScheduled: type: string enum: - SAC - PRICE - SAM - SEM_SISTEMA_AMORTIZACAO - OUTROS example: SAC description: | Sistema de amortização (Vide Enum): - SAC (Sistema de Amortização Constante): É aquele em que o valor da amortização permanece igual até o final. Os juros cobrados sobre o parcelamento não entram nesta conta. - PRICE (Sistema Francês de Amortização): As parcelas são fixas do início ao fim do contrato. Ou seja, todas as parcelas terão o mesmo valor, desde a primeira até a última. Nos primeiros pagamentos, a maior parte do valor da prestação corresponde aos juros. Ao longo do tempo, a taxa de juros vai decrescendo. Como o valor da prestação é fixo, com o passar das parcelas, o valor de amortização vai aumentando. - SAM (Sistema de Amortização Misto): Cada prestação (pagamento) é a média aritmética das prestações respectivas no Sistemas Price e no Sistema de Amortização Constante (SAC). - SEM SISTEMA DE AMORTIZAÇÃO amortizationScheduledAdditionalInfo: type: string pattern: '^[^\s](?:.*[^\s])?$' maxLength: 200 example: Informações complementares relativa à amortização do tipo `OUTROS` description: | Informação relativa ao complemento da amortização [Restrição] Campo de preenchimento obrigatório quando o campo amortizationScheduled for igual `OUTROS` instalmentPeriodicity: type: string description: Informação relativa à periodicidade regular das parcelas. (Vide Enum) sem periodicidade regular, diário, semanal, quinzenal, mensal, bimestral, trimestral, semestral, anual. example: SEM_PERIODICIDADE_REGULAR enum: - SEM_PERIODICIDADE_REGULAR - DIARIO - SEMANAL - QUINZENAL - MENSAL - BIMESTRAL - TRIMESTRAL - SEMESTRAL - ANUAL totalNumberOfInstalments: type: number description: Total de parcelas, segundo a periodicidade regular das parcelas referente à Modalidade de Crédito informada. maximum: 999999999 example: 30 instalmentAmount: type: object minItems: 1 description: Objeto para representar o Valor da parcela regular da operação após portabilidade. required: - amount - currency properties: amount: type: string format: double maxLength: 20 minLength: 4 pattern: '^\d{1,15}\.\d{2,4}$' example: '1000.0400' description: Valor da parcela regular da operação após portabilidade. Expresso em valor monetário com no mínimo 2 casas e no máximo 4 casas decimais. currency: type: string maxLength: 3 minLength: 3 pattern: '^(\w{3}){1}$' example: 'BRL' description: Moeda referenciada ao campo `amount`, segundo modelo ISO-4217. dueDate: type: string maxLength: 20 minLength: 20 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' example: '2020-07-21T08:30:00Z' description: | Prazo (data de vencimento final) da operação. Especificação RFC-3339. contractAmount: type: object description: Valor do saldo remanescente do contrato de empréstimo original utilizado para compor a proposta. required: - amount - currency properties: amount: type: string format: double pattern: '^\d{1,15}\.\d{2,4}$' maxLength: 20 minLength: 4 example: '1000.0400' description: Valor do saldo remanescente do contrato de empréstimo original utilizado para compor a proposta. currency: type: string pattern: '^(\w{3}){1}$' maxLength: 3 minLength: 3 example: 'BRL' description: Moeda referenciada ao campo `amount`, segundo modelo ISO-4217 creationDateTime: type: string description: | Data e hora em que a Proponente registrou a presente proposta (chamada ao POST /portabilities). Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC-0 (UTC time format). maxLength: 20 minLength: 20 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' example: '2020-07-21T08:30:00Z' POSTResponseCreditPortability: type: object required: - data properties: data: type: object minItems: 0 description: Conjunto de informações de contratos de empréstimos/financiamentos mantidos pelo cliente na instituição credora e para os quais ele tenha fornecido consentimento required: - portabilityId - creationDateTime - status properties: portabilityId: type: string pattern: '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$' maxLength: 36 minLength: 36 example: 54d5348c-1a3f-4ff4-a8a8-d0724fb806c6 description: "Código identificador do pedido de portabilidade realizado." status: type: string description: Informação sobre a disponibilidade ou não de um contrato para a portabilidade de crédito enum: - RECEIVED - PENDING - CANCELLED creationDateTime: type: string description: | Data e hora em que a Proponente registrou a presente proposta (chamada ao POST /portabilities). Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC-0 (UTC time format). maxLength: 20 minLength: 20 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' example: '2020-07-21T08:30:00Z' meta: $ref: '#/components/schemas/Meta' ResponsePortabilitiesByPortabilityId: type: object required: - data - links - meta properties: data: type: object description: Conjunto de informações referentes à Proposta de Portabilidade de Crédito da Proponente para a Credora required: - customerContact - institution - contractIdentification - proposedContract - portabilityId - status - statusUpdateDateTime - creationDateTime properties: portabilityId: description: Código identificador do pedido de portabilidade realizado. type: string pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ maxLength: 36 minLength: 36 example: "54d5348c-1a3f-4ff4-a8a8-d0724fb806c6" customerContact: type: array minItems: 0 description: Dados de contato do cliente. items: type: object required: - type - value properties: type: type: string enum: - TELEFONE - EMAIL description: "Tipo do contato do cliente." value: type: string pattern: ^([1-9]{2}(?:[2-8]|9[0-9])[0-9]{3}[0-9]{4})|([a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,})$ example: "11999999999" institution: type: object description: Informações sobre proponente e credora participantes do presente pedido de portabilidade de crédito. required: - creditor - proposing properties: creditor: type: object description: Informações sobre a instituição credora. required: - companyName - companyCnpj properties: companyName: type: string pattern: '^[^\s](?:.*[^\s])?$' maxLength: 80 example: Instituição Credora description: 'Nome da Instituição Credora.' companyCnpj: type: string pattern: '^[0-9A-Z]{12}[0-9]{2}$' maxLength: 14 example: '21128159000166' description: 'Número completo do CNPJ da instituição responsável pelo Cadastro - o CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica. Deve-se ter apenas os números do CNPJ, sem máscara.' proposing: type: object description: Informações sobre a instituição proponente required: - companyName - companyCnpj properties: companyName: type: string pattern: '^[^\s](?:.*[^\s])?$' maxLength: 80 example: Instituição Proponente description: 'Nome da Instituição Proponente' companyCnpj: type: string pattern: '^[0-9A-Z]{12}[0-9]{2}$' maxLength: 14 example: '21128159000166' description: 'Número completo do CNPJ da instituição responsável pelo Cadastro - o CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica. Deve-se ter apenas os números do CNPJ, sem máscara.' contact: type: array minItems: 1 items: type: object properties: type: type: string enum: - EMAIL - TELEFONE description: "Tipo do contato da Instituição Proponente." value: type: string pattern: ^([1-9]{2}(?:[2-8]|9[0-9])[0-9]{3}[0-9]{4})|([a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,})$ example: "contato@instituicaoproponente.com.br" contractIdentification: type: object required: - contractId - contractNumber - ipocCode properties: contractId: type: string pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$ maxLength: 100 minLength: 1 example: "92792126019929279212650822221989319252576" description: "Identifica de forma única o contrato da operação de crédito do cliente, mantendo as regras de imutabilidade dentro da instituição transmissora." contractNumber: type: string pattern: ^[\w\W]{1,100}$ maxLength: 100 minLength: 1 example: "1324926521496" description: "Número do contrato dado pela instituição contratante." ipocCode: type: string pattern: ^[\w\W]{22,67}$ maxLength: 67 minLength: 22 example: "92792126019929279212650822221989319252576" description: | Número padronizado do contrato - IPOC (Identificação Padronizada da Operação de Crédito). Segundo DOC 3040, composta por: CNPJ da instituição: 8 (oito) posições iniciais; Modalidade da operação: 4 (quatro) posições; Tipo do cliente: 1 (uma) posição( 1 = pessoa natural - CPF, 2= pessoa jurídica – CNPJ, 3 = pessoa física no exterior, 4 = pessoa jurídica no exterior, 5 = pessoa natural sem CPF e 6 = pessoa jurídica sem CNPJ); - Código do cliente: O número de posições varia conforme o tipo do cliente: Para clientes pessoa física com CPF (tipo de cliente = 1), informar as 11 (onze) posições do CPF; Para clientes pessoa jurídica com CNPJ (tipo de cliente = 2), informar as 8 (oito) posições iniciais do CNPJ; Para os demais clientes (tipos de cliente 3, 4, 5 e 6), informar 14 (catorze) posições com complemento de zeros à esquerda se a identificação tiver tamanho inferior; - Código do contrato: 1 (uma) até 40 (quarenta) posições, sem complemento de caracteres. proposedContract: type: object minItems: 1 description: Proposta da Proponente para Portabilidade de Crédito. required: - CET - amortizationScheduled - interestRates - contractedFees - contractedFinanceCharges - digitalSignatureProof - totalNumberOfInstalments - instalmentPeriodicity - dueDate - contractAmount properties: CET: type: string pattern: '^\d{1,6}\.\d{6}$' maxLength: 13 minLength: 8 example: '0.290000' description: | CET – Custo Efetivo Total deve ser expresso na forma de taxa percentual anual e incorpora todos os encargos e despesas incidentes nas operações de crédito (taxa de juro, mas também tarifas, tributos, seguros e outras despesas cobradas). O preenchimento deve respeitar as 6 casas decimais, mesmo que venham preenchidas com zeros (representação de porcentagem p.ex: 0.150000. Este valor representa 15%. O valor 1 representa 100%). Para o público PF (pessoa física) o campo é de envio obrigatório para contratos firmados a partir de 2008, conforme Resolução CMN 3.517. Para o público PJ (pessoa jurídica) o campo é de envio obrigatório para contratos firmados a partir de 2011, conforme Resolução CMN 3.909. O campo poderá ser preenchido com 0.00 em cenários nos quais a casa não tenha a informação de CET (Custo efetivo total) apenas para as exceções listadas abaixo: - Em contratos anteriores a 2008 (para o público PF); - Em contratos anteriores a 2011 (para o público PJ); - Público PJ de médio ou grande porte. amortizationScheduled: type: string enum: - SAC - PRICE - SAM - SEM_SISTEMA_AMORTIZACAO - OUTROS example: SAC description: | Sistema de amortização (Vide Enum): - SAC (Sistema de Amortização Constante) - É aquele em que o valor da amortização permanece igual até o final. Os juros cobrados sobre o parcelamento não entram nesta conta. - PRICE (Sistema Francês de Amortização) - As parcelas são fixas do início ao fim do contrato. Ou seja, todas as parcelas terão o mesmo valor, desde a primeira até a última. Nos primeiros pagamentos, a maior parte do valor da prestação corresponde aos juros. Ao longo do tempo, a taxa de juros vai decrescendo. Como o valor da prestação é fixo, com o passar das parcelas, o valor de amortização vai aumentando. - SAM (Sistema de Amortização Misto) - Cada prestação (pagamento) é a média aritmética das prestações respectivas no Sistemas Price e no Sistema de Amortização Constante (SAC). - SEM SISTEMA DE AMORTIZAÇÃO amortizationScheduledAdditionalInfo: type: string pattern: '^[^\s](?:.*[^\s])?$' maxLength: 200 example: Informações complementares relativa à amortização do tipo `OUTROS` description: | Informação relativa ao complemento da amortização [Restrição] Campo de preenchimento obrigatório quando o campo amortizationScheduled for igual `OUTROS` interestRates: type: array description: | Objeto que traz o conjunto de informações necessárias para demonstrar a composição das taxas de juros remuneratórios da Modalidade de crédito. Caso o contrato não possua taxas de juros, deve ser compartilhada uma lista vazia. Caso o contrato possua uma taxa de juros com valor 0, deve ser compartilhado um objeto com o valor 0 de forma explícita. items: $ref: '#/components/schemas/LoansContractInterestRate' minItems: 0 contractedFees: type: array description: Lista que traz as informações das tarifas pactuadas no contrato. items: type: object description: Objeto que traz o conjunto de informações necessárias para demonstrar a composição das taxas de juros remuneratórios da Modalidade de crédito required: - feeName - feeCode - feeChargeType - feeCharge properties: feeName: type: string maxLength: 140 pattern: '^[^\s](?:.*[^\s])?$' description: Denominação da Tarifa pactuada example: Renovação de cadastro feeCode: type: string maxLength: 140 pattern: '^[^\s](?:.*[^\s])?$' description: Sigla identificadora da tarifa pactuada example: CADASTRO feeChargeType: type: string description: Tipo de cobrança para a tarifa pactuada no contrato. enum: - UNICA - POR_PARCELA example: UNICA feeCharge: type: string description: | "Forma de cobrança relativa a tarifa pactuada no contrato. (Vide Enum) - Mínimo - Máximo - Fixo - Percentual" enum: - MINIMO - MAXIMO - FIXO - PERCENTUAL example: MINIMO feeAmount: type: object minItems: 1 description: | Objeto para representar o valor monetário da tarifa pactuada no contrato. [Restrição] Preenchimento obrigatório quando a forma de cobrança for diferente de Percentual. required: - amount - currency properties: amount: type: string format: double maxLength: 20 minLength: 4 pattern: '^\d{1,15}\.\d{2,4}$' example: '1000.0400' description: Valor monetário da tarifa pactuada no contrato. currency: type: string maxLength: 3 minLength: 3 pattern: '^(\w{3}){1}$' example: 'BRL' description: Moeda referenciada ao campo `amount`, segundo modelo ISO-4217. feeRate: type: string pattern: '^\d{1}\.\d{6}$' format: double maxLength: 8 minLength: 8 description: | É o valor da tarifa em percentual pactuada no contrato. [Restrição] Preenchimento obrigatório quando a forma de cobrança for Percentual. example: '0.062000' minItems: 0 contractedFinanceCharges: type: array description: Lista que traz os encargos pactuados no contrato items: type: object description: Conjunto de informações referentes à identificação da operação de crédito required: - chargeType properties: chargeType: type: string description: Tipo de encargo pactuado no contrato. enum: - JUROS_REMUNERATORIOS_POR_ATRASO - MULTA_ATRASO_PAGAMENTO - JUROS_MORA_ATRASO - IOF_CONTRATACAO - IOF_POR_ATRASO - SEM_ENCARGO - OUTROS example: JUROS_REMUNERATORIOS_POR_ATRASO chargeAdditionalInfo: type: string maxLength: 140 description: | Campo para informações adicionais. [Restrição] Obrigatório se selecionada a opção 'OUTROS' em Tipo de encargo pactuado no contrato. pattern: '^[^\s](?:.*[^\s])?$' example: Informações adicionais sobre encargos. chargeRate: type: string pattern: '^\d{1}\.\d{6}$' format: double maxLength: 8 minLength: 8 description: | Representa o valor do encargo em percentual pactuado no contrato. O preenchimento deve respeitar as 6 casas decimais, mesmo que venham preenchidas com zeros(representação de porcentagem p.ex: 0.150000. Este valor representa 15%. O valor 1 representa 100%). example: '0.070000' minItems: 0 digitalSignatureProof: type: object properties: documentId: type: string pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ maxLength: 100 minLength: 1 example: "54d5348c-1a3f-4ff4-a8a8-d0724fb806c6" description: "Código identificador do Documento assinado na instituição proponente." signatureDateTime: type: string maxLength: 20 pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$ example: "2020-07-21T08:30:00Z" description: | Data e hora em que o contrato foi assinado pelo cliente no canal digital da Instituição Proponente required: - documentId - signatureDateTime totalNumberOfInstalments: type: number description: total de parcelas, segundo a periodicidade regular das parcelas referente à Modalidade de Crédito informada. example: 30 instalmentPeriodicity: type: string description: Informação relativa à periodicidade regular das parcelas. (Vide Enum) sem periodicidade regular, diario, semanal, quinzenal, mensal, bimestral, trimestral, semestral, anual. enum: - SEM_PERIODICIDADE_REGULAR - DIARIO - SEMANAL - QUINZENAL - MENSAL - BIMESTRAL - TRIMESTRAL - SEMESTRAL - ANUAL example: SEM_PERIODICIDADE_REGULAR instalmentAmount: type: object minItems: 1 description: Objeto para representar o Valor da parcela regular da operação após portabilidade. required: - amount - currency properties: amount: type: string format: double maxLength: 20 minLength: 4 pattern: '^\d{1,15}\.\d{2,4}$' example: '1000.0400' description: Valor da parcela regular da operação após portabilidade. Expresso em valor monetário com no mínimo 2 casas e no máximo 4 casas decimais. currency: type: string maxLength: 3 minLength: 3 pattern: '^(\w{3}){1}$' example: 'BRL' description: Moeda referenciada ao campo `amount`, segundo modelo ISO-4217. dueDate: type: string description: Prazo (data de vencimento final) da operação. Especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339) maxLength: 20 minLength: 20 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' example: '2020-07-21T08:30:00Z' contractAmount: type: object description: Valor do saldo remanescente do contrato de empréstimo original utilizado para compor a proposta. required: - amount - currency properties: amount: type: string format: double pattern: '^\d{1,15}\.\d{2,4}$' maxLength: 20 minLength: 4 example: '1000.0400' description: Valor do saldo remanescente do contrato de empréstimo original utilizado para compor a proposta. currency: type: string pattern: '^(\w{3}){1}$' maxLength: 3 minLength: 3 example: 'BRL' description: Moeda referenciada ao campo `amount`, segundo modelo ISO-4217 status: type: string description: | Informação sobre o status de um pedido de portabilidade de crédito, onde: - `RECEIVED`: Estado inicial. Indica que o pedido de portabilidade foi solicitado junto a instituição credora. O pedido deve permanecer neste estado até que o próximo dia útil (D+1) aonde começará a contar o prazo de 3 dias úteis para a etapa de contraproposta e o pedido de portabilidade deverá ser movido para PENDING - `PENDING`: Indica que o pedido de portabilidade de crédito está na fase de contraproposta, onde a instituição credora poderá enviar uma contraproposta ou não para o cliente por qualquer canal (email, telefone, etc.) porém o aceite só deverá ser valido se o cliente aprovar no canal digital da instituição credora - `ACCEPTED_SETTLEMENT_IN_PROGRESS`: Indica que a contraproposta não foi aceita pelo cliente e a instituição proponente terá que quitar o valor do contrato no mesmo dia em que o estado foi ativado - `ACCEPTED_SETTLEMENT_COMPLETED`: Indica que a instituição proponente já liquidou o contrato e comunicou a respeito a credora que está validando os dados do contratos bem como valores recebidos para a quitação do mesmo (nesta etapa a instituição credora tem 2 dias úteis para fornecer a confirmação e o recibo de quitação do contrato de empréstimo) - `AWAITING_CONTRACT_DISCHARGE`: Indica que a instituição credora finalizou a portabilidade de crédito fornecendo as informações referente a quitação do contrato original, ficando pendente a solicitação de desaverbação junto a averbadora do contrato consignado para a transferência da margem consignada - `PORTABILITY_COMPLETED`: Indica que o pedido de portabilidade foi concluído com sucesso - `REJECTED`: Indica que o pedido de portabilidade de crédito foi rejeitado, seja porque o cliente aceitou a contraproposta, ou porque a proponente rejeitou a liquidação que excedeu em 15% o valor do contrato original, entre outras possibilidades - `CANCELLED`: Indica que o cliente cancelou o pedido de portabilidade de crédito - `PAYMENT_ISSUE`: Indica que a Instituição Credora encontrou alguma inconsistência na liquidação efetuada e que a Instituição Proponente deverá realizar ajustes conforme sugerido pela Instituição Credora para solucionar a pendencia antes do cancelamento do pedido de portabilidade de crédito enum: - RECEIVED - PENDING - ACCEPTED_SETTLEMENT_IN_PROGRESS - ACCEPTED_SETTLEMENT_COMPLETED - AWAITING_CONTRACT_DISCHARGE - PORTABILITY_COMPLETED - REJECTED - CANCELLED - PAYMENT_ISSUE statusUpdateDateTime: type: string maxLength: 20 pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$ example: "2020-07-21T08:30:00Z" description: | Data e hora em que o contrato teve o status atualizado. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC(UTC time format). statusReason: type: object description: | Motivo de recusa do pedido de portabilidade [RESTRIÇÃO] Campo de preenchimento obrigatório quando campo `status` for igual a `REJECTED` ou `CANCELLED` ou `PAYMENT_ISSUE` properties: reasonType: description: | Motivo de recusa do pedido de portabilidade, onde: `CANCELADO_PELO_CLIENTE` - Cliente desiste do pedido da portabilidade `SALDO_DEVEDOR_ATUALIZADO_SUBSTANCIALMENTE_DIVERGENTE` - Saldo devedor atualizado divergente (superior a 15%) do informado inicialmente `POLITICA_DE_CREDITO` - Proponente desiste da oferta ao cliente por políticas internas `RETENCAO_DO_CLIENTE` - Cliente aceitou contraproposta da instituição credora (dentro do prazo) `CONTRATO_JA_LIQUIDADO` - Contrato liquidado pelo cliente. `DIVERGENCIA_DE_PAGAMENTO_EFETUADO` - Proponente realizou a liquidação com valor divergente `DECURSO_DO_PRAZO_PARA_PAGAMENTO` - Proponente realizou a liquidação fora do prazo `PORTABILIDADE_CANCELADA_POR_FALTA_DE_LIQUIDACAO` - Proponente não realizou a liquidação do contrato `PORTABILIDADE_EM_ANDAMENTO` - Posteriormente à efetivação do pedido de portabilidade, a IF credora identificou que o cliente já possui outro pedido de portabilidade em andamento para o mesmo contrato. `CLIENTE_COM_ACAO_JUDICIAL` - Possui ação judicial `MODALIDADE_DA_OPERACAO_INCOMPATIVEL` - Modalidade divergente da indicada pela instituição proponente `RESERVA_DA_MARGEM` - Não foi possível realizar a reserva da margem consignada pela instituição proponente. `OUTROS` - Motivo da rejeição não se encaixa nas opções disponíveis type: string enum: - CANCELADO_PELO_CLIENTE - SALDO_DEVEDOR_ATUALIZADO_SUBSTANCIALMENTE_DIVERGENTE - POLITICA_DE_CREDITO - RETENCAO_DO_CLIENTE - CONTRATO_JA_LIQUIDADO - DIVERGENCIA_DE_PAGAMENTO_EFETUADO - DECURSO_DO_PRAZO_PARA_PAGAMENTO - PORTABILIDADE_CANCELADA_POR_FALTA_DE_LIQUIDACAO - PORTABILIDADE_EM_ANDAMENTO - CLIENTE_COM_ACAO_JUDICIAL - MODALIDADE_DA_OPERACAO_INCOMPATIVEL - RESERVA_DA_MARGEM - OUTROS reasonTypeAdditionalInfo: description: | Informação sobre a disponibilidade ou não de um contrato para a portabilidade de crédito. Ao utilizar essa opção, é fortemente recomendável enviar um ticket como sugestão da estrutura Open Finance para discussão e mapeamento em futuras versões. [RESTRIÇÃO] Campo de preenchimento obrigatório quando campo `reasonType` for igual `OUTROS` type: string maxLength: 144 pattern: '^[^\s](?:.*[^\s])?$' example: Informações Adicionais digitalSignatureProof: type: object description: | Comprovante de assinatura da contraproposta [RESTRIÇÃO] Objeto de preenchimento obrigatório quando campo `reasonType` for igual a `RETENCAO_DO_CLIENTE` properties: documentId: type: string pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ maxLength: 100 minLength: 1 example: "54d5348c-1a3f-4ff4-a8a8-d0724fb806c6" description: "Código identificador do Documento assinado na instituição proponente." signatureDateTime: type: string maxLength: 20 pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$ example: "2020-07-21T08:30:00Z" description: | Data e hora em que o contrato foi assinado pelo cliente no canal digital da Instituição Proponente required: - documentId - signatureDateTime creationDateTime: type: string description: | Data e hora em que a Proponente registrou a presente proposta (chamada ao POST /portabilities). Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC-0 (UTC time format). maxLength: 20 minLength: 20 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' example: '2020-07-21T08:30:00Z' rejection: type: object description: | Objeto contendo detalhes do cancelamento do pedido de portabilidade de crédito junto a Instituição Credora. [RESTRIÇÃO] Campo de preenchimento obrigatório quando `status` for igual a `REJECTED` ou `CANCELLED` required: - rejectedBy - reason properties: rejectedBy: type: string description: | Informar usuário responsável pela rejeição da proposta, onde: PROPONENTE - Indica que o pedido de portabilidade de crédito foi rejeitado pela proponente, seja porque a proponente rejeitou a liquidação que excedeu em 15% o valor do contrato original, entre outras possibilidades. USUARIO - Indica que o cliente cancelou o pedido de portabilidade de crédito. CREDORA- Indica que a Instituição Credora cancelou o contrato por retenção do cliente ou outros motivos conforme motivo de recusa. example: PROPONENTE enum: - PROPONENTE - USUARIO - CREDORA reason: type: object description: Motivo de recusa do pedido de portabilidade de crédito. required: - type properties: type: type: string description: | Motivo de recusa do pedido de portabilidade, onde: CANCELADO_PELO_CLIENTE - Cliente desiste do pedido da portabilidade; SALDO_DEVEDOR_ATUALIZADO_SUBSTANCIALMENTE_DIVERGENTE - Saldo devedor atualizado divergente (superior a 15%) do informado inicialmente; POLITICA_DE_CREDITO - Proponente desiste da oferta ao cliente por políticas internas; RETENCAO_DO_CLIENTE - Cliente aceitou contraproposta da instituição credora (dentro do prazo); CONTRATO_JA_LIQUIDADO - Contrato liquidado pelo cliente; DIVERGENCIA_DE_PAGAMENTO_EFETUADO - Proponente realizou a liquidação com valor divergente; DECURSO_DO_PRAZO_PARA_PAGAMENTO - Proponente realizou a liquidação fora do prazo; PORTABILIDADE_CANCELADA_POR_FALTA_DE_LIQUIDACAO - Proponente não realizou a liquidação da Portabilidade; PORTABILIDADE_EM_ANDAMENTO - Posteriormente à efetivação do pedido de portabilidade, a IF credora identificou que o cliente já possui outro pedido de portabilidade em andamento para o mesmo contrato; CLIENTE_COM_ACAO_JUDICIAL - Possui ação judicial; MODALIDADE_DA_OPERACAO_INCOMPATIVEL - Modalidade divergente da indicada pela instituição proponente; RESERVA_DA_MARGEM - Não foi possível realizar a reserva da margem consignada pela instituição proponente; OUTROS - Motivo da rejeição não se encaixa nas opções disponíveis. enum: - CANCELADO_PELO_CLIENTE - SALDO_DEVEDOR_ATUALIZADO_SUBSTANCIALMENTE_DIVERGENTE - POLITICA_DE_CREDITO - RETENCAO_DO_CLIENTE - CONTRATO_JA_LIQUIDADO - DIVERGENCIA_DE_PAGAMENTO_EFETUADO - DECURSO_DO_PRAZO_PARA_PAGAMENTO - PORTABILIDADE_CANCELADA_POR_FALTA_DE_LIQUIDACAO - PORTABILIDADE_EM_ANDAMENTO - CLIENTE_COM_ACAO_JUDICIAL - MODALIDADE_DA_OPERACAO_INCOMPATIVEL - RESERVA_DA_MARGEM - OUTROS example: CANCELADO_PELO_CLIENTE typeAdditionalInfo: type: string description: | Informação sobre a disponibilidade ou não de um contrato para a portabilidade de crédito. Ao utilizar essa opção, é fortemente recomendável enviar um ticket como sugestão da estrutura Open Finance para discussão e mapeamento em futuras versões. [RESTRIÇÃO] Campo de preenchimento obrigatório quando campo type for igual a OUTROS. maxLength: 144 pattern: '^[^\s](?:.*[^\s])?$' example: Informações Adicionais loanSettlementInstruction: type: object description: | Objeto contendo o recibo de quitação do contrato original de empréstimo após finalizado o pedido de portabilidade de crédito com sucesso junto a Instituição Credora. [RESTRIÇÃO] Campo de preenchimento obrigatório quando `status` for igual a `PORTABILITY_COMPLETED` ou `AWAITING_CONTRACT_DISCHARGE` required: - settlementDateTime - settlementAmount - transactionId properties: settlementDateTime: type: string description: Data e hora em que a instituição credora realizou a quitação do contrato de empréstimo. maxLength: 20 minLength: 20 pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' example: '2020-07-21T08:30:00Z' settlementAmount: type: object minItems: 1 description: Objeto para representar o valor pago para liquidação do contrato de empréstimo. required: - amount - currency properties: amount: type: string format: double maxLength: 20 minLength: 4 pattern: '^\d{1,15}\.\d{2,4}$' example: '1000.0400' description: Valor pago para liquidação do contrato de empréstimo. currency: type: string maxLength: 3 minLength: 3 pattern: '^(\w{3}){1}$' example: 'BRL' description: Moeda referenciada ao campo `amount`, segundo modelo ISO-4217. transactionId: type: string description: | Identificador da transação utilizada para proponente liquidar a portabilidade de crédito com a credora. No contexto da STR0052, utilizar o valor do campo de retorno NumCtrlSTR (Numero de Controle da STR) maxLength: 20 minLength: 1 pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{1,20}$' example: 'STR20181108000000013' links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/Meta' RequestCreditPortabilityCancel: type: object required: - data properties: data: type: object description: Objeto para notificar a respeito da liquidação efetuada pela proponente a Credora. required: - rejectedBy - reason properties: rejectedBy: type: string description: | Informar usuário responsável pela rejeição da proposta, onde: `PROPONENTE ` - Indica que o pedido de portabilidade de crédito foi rejeitado pela proponente, seja porque a proponente rejeitou a liquidação que excedeu em 15% o valor do contrato original, entre outras possibilidades. `USUARIO` - Indica que o cliente cancelou o pedido de portabilidade de crédito. enum: - PROPONENTE - USUARIO reason: type: object description: Motivo de recusa do pedido de portabilidade required: - type properties: type: type: string description: | Motivo de recusa do pedido de portabilidade, onde: `CANCELADO_PELO_CLIENTE` - Cliente desiste do pedido da portabilidade `SALDO_DEVEDOR_ATUALIZADO_SUBSTANCIALMENTE_DIVERGENTE` - Saldo devedor atualizado divergente (superior a 15%) do informado inicialmente `POLITICA_DE_CREDITO` - Proponente desiste da oferta ao cliente por políticas internas `RESERVA_DA_MARGEM` - Problemas relacionado a liberação/reserva da margem solicitada pela proponente `OUTROS` - Motivo da rejeição não se encaixa nas opções disponíveis enum: - CANCELADO_PELO_CLIENTE - SALDO_DEVEDOR_ATUALIZADO_SUBSTANCIALMENTE_DIVERGENTE - POLITICA_DE_CREDITO - RESERVA_DA_MARGEM - OUTROS typeAdditionalInfo: type: string maxLength: 144 pattern: '^[^\s](?:.*[^\s])?$' example: "Informações Adicionais" description: | Informação adicional sobre rejeição de portabilidade de crédito. Ao utilizar essa opção, é fortemente recomendável enviar um ticket para o GT de Portabilidade de Crédito como sugestão para estrutura Open Finance para discussão e mapeamento em futuras versões. [RESTRIÇÃO] Campo de preenchimento obrigatório quando campo `type` for igual a `OUTROS` ou quando o campo `type` for igual a `RESERVA_DE_MARGEM`. PatchResponseCreditPortabilityCancel: type: object required: - data properties: data: type: object description: Objeto para notificar a respeito da liquidação efetuada pela proponente a Credora. required: - rejectedBy - reason properties: rejectedBy: type: string description: | Informar usuário responsável pela rejeição da proposta, onde: `PROPONENTE ` - Indica que o pedido de portabilidade de crédito foi rejeitado pela proponente, seja porque a proponente rejeitou a liquidação que excedeu em 15% o valor do contrato original, entre outras possibilidades. `USUARIO` - Indica que o cliente cancelou o pedido de portabilidade de crédito. enum: - PROPONENTE - USUARIO reason: type: object description: Motivo de recusa do pedido de portabilidade required: - type properties: type: type: string description: | Motivo de recusa do pedido de portabilidade, onde: `CANCELADO_PELO_CLIENTE` - Cliente desiste do pedido da portabilidade `SALDO_DEVEDOR_ATUALIZADO_SUBSTANCIALMENTE_DIVERGENTE` - Saldo devedor atualizado divergente (superior a 15%) do informado inicialmente `POLITICA_DE_CREDITO` - Proponente desiste da oferta ao cliente por políticas internas `RESERVA_DA_MARGEM` - Problemas relacionado a liberação/reserva da margem solicitada pela proponente `OUTROS` - Motivo da rejeição não se encaixa nas opções disponíveis enum: - CANCELADO_PELO_CLIENTE - SALDO_DEVEDOR_ATUALIZADO_SUBSTANCIALMENTE_DIVERGENTE - POLITICA_DE_CREDITO - RESERVA_DA_MARGEM - OUTROS typeAdditionalInfo: type: string maxLength: 144 pattern: '^[^\s](?:.*[^\s])?$' example: "Informações Adicionais" description: | Informação adicional sobre rejeição de portabilidade de crédito. Ao utilizar essa opção, é fortemente recomendável enviar um ticket para o GT de Portabilidade de Crédito como sugestão para estrutura Open Finance para discussão e mapeamento em futuras versões. [RESTRIÇÃO] Campo de preenchimento obrigatório quando campo `type` for igual a `OUTROS` ou quando o campo `type` for igual a `RESERVA_DE_MARGEM`. meta: $ref: '#/components/schemas/Meta' ResponseRegisteringEntity: type: object required: - data - links - meta properties: data: type: object description: Dados para identificação do contrato a ser portado junto a averbadora required: - payrollData properties: payrollData: description: Dados do contrato de empréstimo consignado. type: object required: - payrollContractNumber - registeringEntity properties: payrollContractNumber: type: string pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,19}$' maxLength: 20 minLength: 1 description: Número do contrato dado pela instituição contratante no sistema da averbadora. example: '12346579841058798Asq' relatedPayrollContractNumbers: type: array description: Lista de números de contratos relacionados ao contrato principal na averbadora. Este campo deve ser utilizado quando um único contrato na instituição credora estiver associado a múltiplos códigos de averbação junto à averbadora. required: false minItems: 0 items: type: string pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,19}$' minLength: 1 maxLength: 20 example: ["12346579841058798Asq","22346579841058798Asq", "42346579841058798Asq"] registeringEntity: type: string enum: - SERPRO description: | Nome da averbadora do empréstimo consignado. example: 'SERPRO' links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/Meta' RequestCreditPortabilityPayment: type: object required: - data properties: data: type: object description: Objeto para notificar a respeito da liquidação efetuada pela proponente a credora required: - paymentDateTime - paymentAmount - transactionId properties: paymentDateTime: type: string maxLength: 20 pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$ example: "2020-07-21T08:30:00Z" description: | Data e hora em que o pagamento à instituição credora foi realizado pela instituição proponente. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC-0 (UTC time format) paymentAmount: type: object minItems: 1 description: Objeto para representar o valor pago para liquidação do contrato de empréstimo. required: - amount - currency properties: amount: type: string format: double maxLength: 20 minLength: 4 pattern: '^\d{1,15}\.\d{2,4}$' example: '1000.0400' description: Valor pago para liquidação do contrato de empréstimo. currency: type: string maxLength: 3 minLength: 3 pattern: '^(\w{3}){1}$' example: 'BRL' description: Moeda referenciada ao campo `amount`, segundo modelo ISO-4217. transactionId: type: string pattern: '^[^\s](?:.*[^\s])?$' maxLength: 20 minLength: 1 example: 'STR20181108000000013' description: | Identificador da transação utilizada para proponente liquidar a portabilidade de crédito com a credora. No contexto da STR0052, utilizar o valor do campo de retorno NumCtrlSTR (Numero de Controle da STR) POSTResponseCreditPortabilityPayment: type: object required: - data properties: data: type: object minItems: 0 description: Objeto para notificar a respeito da liquidação efetuada pela proponente a credora required: - paymentDateTime - paymentAmount - transactionId properties: paymentDateTime: type: string maxLength: 20 pattern: ^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$ example: "2020-07-21T08:30:00Z" description: | Data e hora em que o pagamento à instituição credora foi realizado pela instituição proponente. Uma string com data e hora conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), sempre com a utilização de timezone UTC-0 (UTC time format) paymentAmount: type: object minItems: 1 description: Objeto para representar o valor pago para liquidação do contrato de empréstimo. required: - amount - currency properties: amount: type: string format: double maxLength: 20 minLength: 4 pattern: '^\d{1,15}\.\d{2,4}$' example: '1000.0400' description: Valor pago para liquidação do contrato de empréstimo. currency: type: string maxLength: 3 minLength: 3 pattern: '^(\w{3}){1}$' example: 'BRL' description: Moeda referenciada ao campo `amount`, segundo modelo ISO-4217. transactionId: type: string pattern: '^[^\s](?:.*[^\s])?$' maxLength: 20 minLength: 1 example: 'STR20181108000000013' description: | Identificador da transação utilizada para proponente liquidar a portabilidade de crédito com a credora. No contexto da STR0052, utilizar o valor do campo de retorno NumCtrlSTR (Numero de Controle da STR) meta: $ref: '#/components/schemas/Meta' RequestCreditPortabilityRequestDischarge: type: object required: - data properties: data: type: object description: Objeto para notificar a respeito da solicita o estorno da STR efetuada para liquidar o contrato consignado. required: - transactionId - payrollData properties: transactionId: type: string pattern: '^[^\s](?:.*[^\s])?$' maxLength: 20 minLength: 1 example: 'STR20181108000000013' description: | Identificador da transação utilizada para proponente liquidar a portabilidade de crédito com a credora. No contexto da STR0052, utilizar o valor do campo de retorno NumCtrlSTR (Numero de Controle da STR) payrollData: description: Dados do contrato de empréstimo consignado. type: object required: - contractId - registeringEntity properties: contractId: type: string pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,19}$' maxLength: 20 minLength: 1 description: Número do contrato dado pela instituição contratante no sistema da averbadora. example: '12346579841058798Asq' registeringEntity: type: string enum: - SERPRO description: | Nome da averbadora do empréstimo consignado. example: 'SERPRO' POSTResponseCreditPortabilityRequestDischarge: type: object required: - data properties: data: type: object minItems: 0 description: Objeto para notificar a respeito da solicita o estorno da STR efetuada para liquidar o contrato consignado. required: - payrollData properties: payrollData: description: Dados do contrato de empréstimo consignado. type: object required: - contractId - registeringEntity properties: contractId: type: string pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,19}$' maxLength: 20 minLength: 1 description: Número do contrato dado pela instituição contratante no sistema da averbadora. example: '12346579841058798Asq' registeringEntity: type: string enum: - SERPRO description: | Nome da averbadora do empréstimo consignado. example: 'SERPRO' meta: type: object properties: requestDateTime: description: 'Data e hora da consulta, conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), formato UTC.' type: string maxLength: 20 format: date-time example: '2021-05-21T08:30:00Z' LoansContractInterestRate: type: object description: Objeto que traz o conjunto de informações necessárias para demonstrar a composição das taxas de juros remuneratórios da Modalidade de crédito required: - taxType - interestRateType - taxPeriodicity - calculation - referentialRateIndexerType - preFixedRate - postFixedRate properties: taxType: type: string description: | "Tipo de Taxa (vide Enum) - NOMINAL (taxa nominal é uma taxa de juros em que a unidade referencial não coincide com a unidade de tempo da capitalização. Ela é sempre fornecida em termos anuais, e seus períodos de capitalização podem ser diários, mensais, trimestrais ou semestrais. p.ex. Uma taxa de 12% ao ano com capitalização mensal) - EFETIVA (É a taxa de juros em que a unidade referencial coincide com a unidade de tempo da capitalização. Como as unidades de medida de tempo da taxa de juros e dos períodos de capitalização são iguais, usa-se exemplos simples como 1% ao mês, 60% ao ano)" enum: - NOMINAL - EFETIVA example: EFETIVA interestRateType: type: string description: | "Tipo de Juros (vide Enum) - SIMPLES (aplicada/cobrada sempre sobre o capital inicial, que é o valor emprestado/investido. Não há cobrança de juros sobre juros acumulados no(s) período(s) anterior(es). Exemplo: em um empréstimo de R$1.000, com taxa de juros simples de 8% a.a., com duração de 2 anos, o total de juros será R$80 no primeiro ano e R$ 80 no segundo ano. Ao final do contrato, o tomador irá devolver o principal e os juros simples de cada ano: R$1.000+R$80+R$80=R$1.160) - COMPOSTO (para cada período do contrato (diário, mensal, anual etc.), há um “novo capital” para a cobrança da taxa de juros contratada. Esse “novo capital” é a soma do capital e do juro cobrado no período anterior. Exemplo: em um empréstimo de R$1.000, com taxa de juros composta de 8% a.a., com duração de 2 anos, o total de juros será R$80 no primeiro ano. No segundo ano, os juros vão ser somados ao capital (R$1.000 + R$ 80 = R$ 1.080), resultando em juros de R$ 86 (8%de R$ 1.080))" enum: - SIMPLES - COMPOSTO example: SIMPLES referentialRateIndexerSubType: $ref: '#/components/schemas/EnumReferentialRateIndexerSubType' taxPeriodicity: type: string description: | "Periodicidade da taxa . (Vide Enum) a.m - ao mês a.a. - ao ano" enum: - AM - AA example: AA calculation: type: string description: Base de cálculo enum: - 21/252 - 30/360 - 30/365 example: 21/252 referentialRateIndexerType: type: string description: | "Tipos de taxas referenciais ou indexadores, conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040" enum: - SEM_TIPO_INDEXADOR - PRE_FIXADO - POS_FIXADO - FLUTUANTES - INDICES_PRECOS - CREDITO_RURAL - OUTROS_INDEXADORES example: PRE_FIXADO referentialRateIndexerAdditionalInfo: type: string description: | Campo livre para complementar a informação relativa ao Tipo de taxa referencial ou indexador. [Restrição] Obrigatório para complementar a informação relativa ao Tipo de taxa referencial ou indexador, quando selecionado o tipo ou subtipo `OUTRO`. maxLength: 140 pattern: '^[^\s](?:.*[^\s])?$' example: Informações adicionais preFixedRate: type: string pattern: '^\d{1,2}\.\d{6}$' format: double maxLength: 9 minLength: 8 example: '0.600000' description: | Taxa pré fixada aplicada sob o contrato da modalidade crédito. p.ex. 0.014500. O preenchimento deve respeitar as 6 casas decimais, mesmo que venham preenchidas com zeros(representação de porcentagem p.ex: 0.150000. Este valor representa 15%. O valor 1 representa 100%). Preencher o campo não aplicável ao contrato com zeros, seguindo o pattern (0.000000). postFixedRate: type: string pattern: '^\d{1,2}\.\d{6}$' format: double maxLength: 9 minLength: 8 description: | Taxa pós fixada aplicada sob o contrato da modalidade crédito. p.ex. 0.0045 .O preenchimento deve respeitar as 6 casas decimais, mesmo que venham preenchidas com zeros (representação de porcentagem p.ex: 0.1500. Este valor representa 15%. O valor 1 representa 100%). Preencher o campo não aplicável ao contrato com zeros, seguindo o pattern (0.000000) example: '0.550000' additionalInfo: type: string maxLength: 1200 pattern: '^[^\s](?:.*[^\s])?$' example: Informações adicionais description: | Texto com informações adicionais sobre a composição das taxas de juros pactuadas. [Restrição] Caso a instituição possua a informação para compartilhamento, esta deverá ser informada. EnumReferentialRateIndexerSubType: type: string description: | "Sub tipos de taxas referenciais ou indexadores, conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040" enum: - SEM_SUB_TIPO_INDEXADOR - PRE_FIXADO - TR_TBF - TJLP - LIBOR - TLP - OUTRAS_TAXAS_POS_FIXADAS - CDI - SELIC - OUTRAS_TAXAS_FLUTUANTES - IGPM - IPCA - IPCC - OUTROS_INDICES_PRECO - TCR_PRE - TCR_POS - TRFC_PRE - TRFC_POS - OUTROS_INDEXADORES example: TJLP EnumErrorsRequestPortability: type: string enum: - EM_ANDAMENTO - PRAZO_ACIMA_LIMITE - CONTRATO_INVALIDO - CONTRATO_NAO_ELEGIVEL - ERRO_IDEMPOTENCIA - SEM_EVIDENCIA_ASSINATURA - PERIODICIDADE_INVALIDA - CAMPO_INCONSISTENTE - VALOR_DIVERGENTE - PARAMETRO_NAO_INFORMADO - PARAMETRO_INVALIDO - NAO_INFORMADO example: EM_ANDAMENTO description: | Códigos de erros previstos na criação da iniciação de pagamento: - EM_ANDAMENTO: Valida se já existe um pedido de portabilidade de crédito para o contrato solicitado pelo trilho do OFB ou da Registradora. - PRAZO_ACIMA_LIMITE: Prazo do empréstimo maior ao restante das parcelas a serem liquidadas no contrato original. - CONTRATO_INVALIDO: ID de contrato inválida. - ERRO_IDEMPOTENCIA: Valida se há divergência entre chave de idempotência e informações enviadas. - SEM_EVIDENCIA_ASSINATURA – Valida se o objeto de assinatura do contrato foi preenchido pela instituição proponente devidamente, em caso de ausência. - CONTRATO_NAO_ELEGIVEL: Contrato não elegível para portabilidade dentro do trilho do OFB. - PERIODICIDADE_INVALIDA: Valida se não houve mudança na periodicidade entre o novo contrato e o contrato original, caso tenha sido alterado a periodicidade. - CAMPO_INCONSISTENTE: Valida se o preenchimento de alguns campos estão corretos Ex.: CNPJ da instituição credora deve ser o mesmo retornado pela API de Empréstimos. - VALOR_DIVERGENTE: Valor da proposta para quitar o saldo remanescente é inconsistente, podendo ser a maior ou a menor. - PARAMETRO_NAO_INFORMADO: Valida se todos os campos obrigatórios são informados. - PARAMETRO_INVALIDO: Valida se parâmetros informados obedecem a formatação especificada. - NAO_INFORMADO: Demais validações não explicitamente informadas. EnumErrorsPatchCancel: type: string enum: - CANCELAMENTO_NAO_EFETUADO example: CANCELAMENTO_NAO_EFETUADO description: | Códigos de erros previstos para portabilidade de crédito: - CANCELAMENTO_NAO_EFETUADO: Estado da portabilidade diferente de RECEIVED, PENDING ou ACCEPTED_SETTLEMENT_IN_PROGRESS. Obs.: De acordo com o PRD o usuário poderá cancelar o pedido de portabilidade até a etapa de liquidação, após esta etapa não será mais permitido o cancelamento da portabilidade. EnumErrorsPostPayments: type: string enum: - PAGAMENTO_EFETUADO_FORA_PRAZO example: PAGAMENTO_EFETUADO_FORA_PRAZO description: | Códigos de erros previstos para portabilidade de crédito: - PAGAMENTO_EFETUADO_FORA_PRAZO: Estado da portabilidade diferente de ACCEPTED_SETTLEMENT_IN_PROGRESS ou PAYMENT_ISSUE. Obs.: Caso o pagamento tenha sido feito por engano a Instituição Proponente deve solicitar o estorno. EnumErrorsPostRequestDischarge: type: string enum: - SOLICITAÇÃO_NÃO_EFETUADA - CAMPO_INCONSISTENTE example: SOLICITAÇÃO_NÃO_EFETUADA description: | Códigos de erros previstos para portabilidade de crédito: - SOLICITAÇÃO_NÃO_EFETUADA: A Instituição credora tem um SLA de 10 dias contados apartir da comunicação do pagamento através do endpoint [POST] /portabilities/{portabilityId}/payment para realizar desaverbar o contrato consignado de empréstimo junto ao SERPRO. - CAMPO_INCONSISTENTE: CNPJ da instituição proponente não pode ser igual ao CNPJ da instituição credora. Meta: type: object description: Meta informações referentes à API requisitada. required: - requestDateTime properties: requestDateTime: description: 'Data e hora da consulta, conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), formato UTC.' type: string pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' maxLength: 20 format: date-time example: '2021-05-21T08:30:00Z' Links: type: object description: Referências para outros recursos da API requisitada. required: - self properties: self: type: string format: uri maxLength: 2000 description: URI completo que gerou a resposta atual. example: 'https://api.banco.com.br/open-banking/api/v1/resource' ResponseErrorWithAbleAdditionalProperties: type: object required: - errors properties: errors: type: array minItems: 0 maxItems: 13 items: type: object required: - code - title - detail properties: code: description: Código de erro específico do endpoint type: string pattern: '[\w\W\s]*' maxLength: 255 title: description: Título legível por humanos deste erro específico type: string pattern: '[\w\W\s]*' maxLength: 255 detail: description: Descrição legível por humanos deste erro específico type: string pattern: '[\w\W\s]*' maxLength: 2048 meta: type: object properties: requestDateTime: description: 'Data e hora da consulta, conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), formato UTC.' type: string maxLength: 20 format: date-time example: '2021-05-21T08:30:00Z' 422ResponseErrorPostPortabilities: type: object required: - errors properties: errors: type: array minItems: 0 maxItems: 13 items: type: object required: - code - title - detail properties: code: $ref: '#/components/schemas/EnumErrorsRequestPortability' title: description: Título legível por humanos deste erro específico type: string pattern: '[\w\W\s]*' maxLength: 255 detail: description: Descrição legível por humanos deste erro específico type: string pattern: '[\w\W\s]*' maxLength: 2048 meta: type: object properties: requestDateTime: description: 'Data e hora da consulta, conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), formato UTC.' type: string maxLength: 20 format: date-time example: '2021-05-21T08:30:00Z' 422ResponseErrorPatchCancel: type: object required: - errors properties: errors: type: array minItems: 0 maxItems: 13 items: type: object required: - code - title - detail properties: code: $ref: '#/components/schemas/EnumErrorsPatchCancel' title: description: Título legível por humanos deste erro específico type: string pattern: '[\w\W\s]*' maxLength: 255 detail: description: Descrição legível por humanos deste erro específico type: string pattern: '[\w\W\s]*' maxLength: 2048 meta: type: object properties: requestDateTime: description: 'Data e hora da consulta, conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), formato UTC.' type: string maxLength: 20 format: date-time example: '2021-05-21T08:30:00Z' 422ResponseErrorPostPayments: type: object required: - errors properties: errors: type: array minItems: 0 maxItems: 13 items: type: object required: - code - title - detail properties: code: $ref: '#/components/schemas/EnumErrorsPostPayments' title: description: Título legível por humanos deste erro específico type: string pattern: '[\w\W\s]*' maxLength: 255 detail: description: Descrição legível por humanos deste erro específico type: string pattern: '[\w\W\s]*' maxLength: 2048 meta: type: object properties: requestDateTime: description: 'Data e hora da consulta, conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), formato UTC.' type: string maxLength: 20 format: date-time example: '2021-05-21T08:30:00Z' 422ResponseErrorPostRequestDischarge: type: object required: - errors properties: errors: type: array minItems: 0 maxItems: 13 items: type: object required: - code - title - detail properties: code: $ref: '#/components/schemas/EnumErrorsPostRequestDischarge' title: description: Título legível por humanos deste erro específico type: string pattern: '[\w\W\s]*' maxLength: 255 detail: description: Descrição legível por humanos deste erro específico type: string pattern: '[\w\W\s]*' maxLength: 2048 meta: type: object properties: requestDateTime: description: 'Data e hora da consulta, conforme especificação [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339), formato UTC.' type: string maxLength: 20 format: date-time example: '2021-05-21T08:30:00Z' X-V: type: string pattern: '^\d+\.\d+\.\d+$' example: 1.0.0 XFapiInteractionId: type: string format: uuid pattern: '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$' minLength: 1 maxLength: 36 example: d78fc4e5-37ca-4da3-adf2-9b082bf92280 parameters: Authorization: name: Authorization in: header description: Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado. required: true schema: type: string pattern: '[\w\W\s]*' maxLength: 2048 contractId: name: contractId in: path description: Identificador do contrato para todos os tipos de operação de crédito. required: true schema: type: string pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$' maxLength: 100 xCustomerUserAgent: name: x-customer-user-agent in: header description: Indica o user-agent que o usuário utiliza. required: false schema: type: string pattern: '[\w\W\s]*' minLength: 1 maxLength: 100 xIdempotencyKey: name: x-idempotency-key in: header description: Cabeçalho HTTP personalizado. Identificador de solicitação exclusivo para suportar a idempotência. required: true schema: type: string pattern: '^(?!\s)(.*)(\S)$' minLength: 1 maxLength: 40 xFapiAuthDate: name: x-fapi-auth-date in: header description: 'Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a [RFC7231](https://tools.ietf.org/html/rfc7231).Exemplo: Sun, 10 Sep 2017 19:43:31 UTC' required: false schema: type: string pattern: '^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$' minLength: 29 maxLength: 29 xFapiCustomerIpAddress: name: x-fapi-customer-ip-address in: header description: O endereço IP do usuário se estiver atualmente logado com o receptor. required: false schema: type: string pattern: '[\w\W\s]*' minLength: 1 maxLength: 100 xFapiInteractionId: name: x-fapi-interaction-id in: header description: 'Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora.' required: true schema: type: string format: uuid pattern: '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$' minLength: 1 maxLength: 36 example: d78fc4e5-37ca-4da3-adf2-9b082bf92280 portabilityId: name: portabilityId in: path description: Identificador do pedido de portabilidade de crédito. required: true schema: type: string pattern: '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$' maxLength: 36 minLength: 36 securitySchemes: OpenId: type: openIdConnect openIdConnectUrl: 'https://auth.mockbank.poc.raidiam.io/.well-known/openid-configuration' OAuth2ClientCredentials: type: oauth2 description: Fluxo OAuth necessário para que a receptora tenha acesso aos dados na instituição transmissora. Requer o processo de redirecionamento e autenticação do usuário a que se referem os dados. flows: clientCredentials: tokenUrl: 'https://authserver.example/token' scopes: payroll-credit-portability: Escopo necessário para acesso à API Portabilidade de Crédito. OAuth2AuthorizationCodeLoans: type: oauth2 description: Fluxo OAuth necessário para que a receptora tenha acesso aos dados na instituição transmissora. Requer o processo de redirecionamento e autenticação do usuário a que se referem os dados. flows: authorizationCode: authorizationUrl: 'https://authserver.example/authorization' tokenUrl: 'https://authserver.example/token' scopes: loans: Escopo necessário para acesso à API Loans. O controle dos endpoints específicos é feito via permissions. openId: Indica que a autorização está sendo realizada utilizando o protocolo definido pela openid. 'consent:consentId': Fluxo OAuth necessário para que a instituição proponente tenha acesso aos dados na instituição credora. Requer o processo de redirecionamento e autenticação do usuário a que se referem os dados. responses: OKResponseAccountData: description: Dados para realização do pagamento da operação via TED. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/jwt: schema: $ref: '#/components/schemas/ResponseAccountData' OKResponsePortabilityEligibility: description: Payload com os dados do pedido de portabilidade de crédito. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/jwt: schema: $ref: '#/components/schemas/ResponsePortabilityEligibility' POSTResponseCreditPortability: description: Dados da solicitação de portabilidade de crédito. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/jwt: schema: $ref: '#/components/schemas/POSTResponseCreditPortability' OKResponsePortabilitiesByPortabilityId: description: Dados dos contratos de empréstimo obtidos com sucesso. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/jwt: schema: $ref: '#/components/schemas/ResponsePortabilitiesByPortabilityId' PatchResponseCreditPortabilityCancel: description: Dados da confirmação do cancelamento da portabilidade de crédito. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/jwt: schema: $ref: '#/components/schemas/PatchResponseCreditPortabilityCancel' OKResponseRegisteringEntity: description: Dados para auxiliar a identificação do contrato a ser portado junto a averbadora. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/jwt: schema: $ref: '#/components/schemas/ResponseRegisteringEntity' POSTResponseCreditPortabilityPayment: description: Payload com os dadosda comunicação do pagamento efetuado a instituição credora. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/jwt: schema: $ref: '#/components/schemas/POSTResponseCreditPortabilityPayment' POSTResponseCreditPortabilityRequestDischarge: description: Dados da solicita o estorno da STR efetuada para liquidar o contrato consignado. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/jwt: schema: $ref: '#/components/schemas/POSTResponseCreditPortabilityRequestDischarge' BadRequest: description: A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' Forbidden: description: O token tem escopo incorreto ou uma política de segurança foi violada. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' InternalServerError: description: Ocorreu um erro no gateway da API ou no microsserviço. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' GatewayTimeout: description: GATEWAY TIMEOUT - A requisição não foi atendida dentro do tempo limite estabelecido. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' MethodNotAllowed: description: O consumidor tentou acessar o recurso com um método não suportado. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' NotAcceptable: description: A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' NotFound: description: O recurso solicitado não existe ou não foi implementado. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' Unauthorized: description: Cabeçalho de autenticação ausente/inválido ou token inválido. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' UnprocessableEntity: description: A sintaxe da requisição está correta, mas não foi possível processar as instruções presentes. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/jwt: schema: $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' UnprocessableEntityPostPortabilities: description: A sintaxe da requisição está correta, mas não foi possível processar as instruções presentes. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/jwt: schema: $ref: '#/components/schemas/422ResponseErrorPostPortabilities' examples: Saldo insuficiente: summary: Em Andamento value: errors: - code: EM_ANDAMENTO title: já existe um pedido de portabilidade de crédito para o contrato solicitado detail: já existe um pedido de portabilidade de crédito para o contrato solicitado meta: requestDateTime: '2021-05-21T08:30:00Z' UnprocessableEntityPatchCancel: description: A sintaxe da requisição está correta, mas não foi possível processar as instruções presentes. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/jwt: schema: $ref: '#/components/schemas/422ResponseErrorPatchCancel' examples: Saldo insuficiente: summary: Cancelamento não efetuado value: errors: - code: CANCELAMENTO_NAO_EFETUADO title: Estado da portabilidade diferente de RECEIVED, PENDING ou ACCEPTED_SETTLEMENT_IN_PROGRESS detail: Estado da portabilidade diferente de RECEIVED, PENDING ou ACCEPTED_SETTLEMENT_IN_PROGRESS meta: requestDateTime: '2021-05-21T08:30:00Z' UnprocessableEntityPostPayments: description: A sintaxe da requisição está correta, mas não foi possível processar as instruções presentes. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/jwt: schema: $ref: '#/components/schemas/422ResponseErrorPostPayments' examples: Saldo insuficiente: summary: Pagamento efetuado fora do prazo value: errors: - code: PAGAMENTO_EFETUADO_FORA_PRAZO title: Estado da portabilidade diferente de ACCEPTED_SETTLEMENT_IN_PROGRESS ou PAYMENT_ISSUE detail: Estado da portabilidade diferente de ACCEPTED_SETTLEMENT_IN_PROGRESS ou PAYMENT_ISSUE meta: requestDateTime: '2021-05-21T08:30:00Z' UnprocessableEntityPostRequestDischarge: description: A sintaxe da requisição está correta, mas não foi possível processar as instruções presentes. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/jwt: schema: $ref: '#/components/schemas/422ResponseErrorPostRequestDischarge' examples: Saldo insuficiente: summary: SOLICITAÇÃO_NÃO_EFETUADA value: errors: - code: SOLICITAÇÃO_NÃO_EFETUADA title: Máquina de estados acusa que ainda não está na etapa de desaverbação de contrato. detail: Máquina de estados acusa que ainda não está na etapa de desaverbação de contrato. meta: requestDateTime: '2021-05-21T08:30:00Z' SiteIsOverloaded: description: O site está sobrecarregado e a operação foi recusada, pois foi atingido o limite máximo de TPS global, neste momento. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties' Default: description: Erro inesperado. headers: x-fapi-interaction-id: description: | Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela IF Proponente (client) e o seu valor deve ser “espelhado” pela IF Credora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a IF Credora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A IF Proponente deve acatar o valor recebido da IF Credora. schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: description: | Cabeçalho de envio obrigatório que indica a versão implementada da API pela instituição financeira. Deve ser preenchido de forma completa, por exemplo: x-v : 1.0.2 schema: $ref: '#/components/schemas/X-V' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseErrorWithAbleAdditionalProperties'