---
title: "Recebe a solicitação de autenticação CIBA"
method: POST
path: "/internal-bc-authorize"
tags: ["Fluxo CIBA"]
---

# Recebe a solicitação de autenticação CIBA

`POST /internal-bc-authorize`

## Request

- Base URL: `https://<TRANSMISSORA_HOST>`
- URL: `https://<TRANSMISSORA_HOST>/internal-bc-authorize`
- Auth: HTTP bearer

API de responsabilidade da Transmissora de Dados (cliente), que deve implementá-la e disponibilizá-la para integração na plataforma.

A Celcoin utiliza este endpoint ao receber a solicitação de autenticação CIBA da Receptora de Dados (`POST /bc-authorize`), encaminhando o `auth_req_id` e os dados do consentimento para que a Transmissora notifique o usuário e prossiga com a jornada de aprovação.

## Request body

- InternalBcAuthorizeRequest
  - `auth_req_id` string, required: Identificador da autenticação CIBA gerado no fluxo CIBA (`auth_req_id`).
  - `consent` InternalBcAuthorizeConsent, required: Dados do consentimento de dados (DATA) a ser autorizado.
    - `consentId` string, required: O consentId é o identificador único do consentimento e deverá ser um URN - Uniform Resource Name. Um URN, conforme definido na [RFC8141](https://tools.ietf.org/html/rfc8141) é um Uniform Resource Identifier - URI - que é atribuído sob o URI scheme "urn" e um namespace URN específico, com a intenção de que o URN seja um identificador de recurso persistente e independente da localização. Considerando a string urn:bancoex:C1DD33123 como exemplo para consentId temos: - o namespace(urn) - o identificador associado ao namespace da instituição transmissora (bancoex) - o identificador específico dentro do namespace (C1DD33123). Informações mais detalhadas sobre a construção de namespaces devem ser consultadas na [RFC8141](https://tools.ietf.org/html/rfc8141).
    - `status` 'AUTHORISED' | 'AWAITING_AUTHORISATION' | 'REJECTED': Estado atual do consentimento cadastrado.
    - `creationDateTime` string, date-time: Data e hora em que o recurso foi criado. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC (UTC time format).
    - `statusUpdateDateTime` string, date-time: Data e hora em que o recurso foi atualizado. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC (UTC time format).
    - `expirationDateTime` string, date-time: Data e hora de expiração da permissão. Reflete a data limite de validade do consentimento. Uma string com data e hora conforme especificação RFC-3339, sempre com a utilização de timezone UTC (UTC time format). [Restrição] De preenchimento obrigatório nos casos em que houver validade determinada. Em casos de consentimento com prazo indeterminado o campo não deve ser enviado.
    - `permissions` string[], required: Especifica os tipos de permissões de acesso às APIs no escopo do Open Finance Brasil - Dados cadastrais e transacionais, de acordo com os blocos de consentimento fornecidos pelo usuário e necessários ao acesso a cada endpoint das APIs. Esse array não deve ter duplicidade de itens.
    - `loggedUser` LoggedUser, required: Usuário (pessoa natural) que encontra-se logado na instituição receptora e que iniciou o processo de consentimento para compartilhamento de dados.
      - `name` string: Nome do usuário que solicitou o compartilhamento de dados na instituição receptora. [Restrição] Obrigatório via protocolo CIBA ou quando houver a intenção de fluxo fallback CIBA para clientes PJ identificado via campo `businessEntity`.
      - `document` LoggedUserDocument, required
        - `identification` string, required: Número do documento de identificação oficial do usuário.
        - `rel` string, required: Tipo do documento de identificação oficial do usuário.
    - `businessEntity` BusinessEntity: Titular, pessoa jurídica a quem se referem os dados que são objeto de compartilhamento. Informado apenas para consentimentos de pessoa jurídica.
      - `document` BusinessEntityDocument, required
        - `identification` string, required: Número do documento de identificação oficial do titular pessoa jurídica.
        - `rel` string, required: Tipo do documento de identificação oficial do titular pessoa jurídica.
    - `applicantId` string, uuid, required: Organization ID receptora do consentimento.
    - `applicantSoftwareId` string, uuid: Identificador do software statement da organização solicitante.
    - `kind` 'DATA': Tipo do consentimento.
    - `fapiInteractionId` string, uuid: Identificador (UUID RFC4122) usado como ID de correlação da interação que originou o consentimento.
    - `dataHash` string: Hash dos dados do consentimento.
    - `version` integer: Versão do consentimento.
    - `consentTerm` integer: Prazo do consentimento, na unidade informada em `consentTermUnit`.
    - `consentTermUnit` string: Unidade do prazo do consentimento (ex.: `M`).
    - `renewalHistory` object[]: Histórico de renovações do consentimento.
    - `events` ConsentEvent[]: Histórico de eventos do consentimento.
      - `date` string, date-time: Data e hora do evento.
      - `event` string: Evento registrado (ex.: mudança de status do consentimento).
    - `journey` object[]: Informações adicionais sobre o contexto de Jornada Otimizada, quando aplicável.
    - `organizationName` string: Nome da organização solicitante do consentimento.
    - `organizationLogo` string, uri: URL do logotipo da organização solicitante.

## Response `204`

Solicitação recebida com sucesso. Sem corpo na resposta.

## Other responses

- `400`: Dados inválidos
- `401`: Token inválido, expirado ou não enviado
- `403`: Sem permissão para executar esta operação
- `422`: Dados de entrada inválidos
- `500`: Erro interno

---

[API](https://skmtc.dev/celcoin/apis/cel-open-opencore.md) - [All operations](https://skmtc.dev/celcoin/apis/cel-open-opencore/llms.txt) - [OpenAPI document](https://skmtc.dev/celcoin/apis/cel-open-opencore/revisions/8a1cb6abb7d3?raw)
