openapi: 3.0.0
info:
  title: QRCodes API
  version: ''
  description: >-
    A API Pix padroniza serviços oferecidos pelo PSP recebedor no contexto do
    arranjo Pix,

    como criação de cobrança, verificação de Pix recebidos, devolução e
    consultas.

    Os serviços expostos pelo PSP recebedor permitem ao usuário recebedor
    estabelecer integração

    de sua automação com os serviços Pix do PSP.


    # Evolução da API Pix


    A API Pix busca respeitar __[SemVer](https://semver.org/lang/pt-BR/)__.
    Nesse sentido,

    mudanças compatíveis não devem gerar nova versão _major_.


    A versão da API é composta por 4 elementos: _major_, _minor_, _patch_ e
    _release candidate_.

    A versão `v[x]`que consta no path da URL é o elemento _major_ da versão da
    API.

    A evolução da versão se dá seguinte forma:

      - Major: alterações incompatíveis, com quebra de contrato (v1.0.0 → v2.0.0)
      - Minor: alterações compatíveis, sem quebra de contrato (v1.1.0 → v1.2.0)
      - Patch: bugfixes, esclarecimentos às especificações, sem alterações funcionais (v1.1.1 → v1.1.2)
      - Release candidate: versões de pré-lançamento de qualquer patch futuro, minor ou major (v1.0.0-rc.1 → v1.0.0-rc.22)

    Alterações sem quebra de contrato e esclarecimentos às especificações podem
    ocorrer a qualquer momento.

    Clientes devem estar preparados para lidar com essas mudanças sem quebrar.


    As seguintes mudanças são esperadas e consideradas retrocompatíveis:


    - Adição de novos recursos na API Pix.

    - Adição de novos parâmetros opcionais a cobranças.

    - Adição de novos campos em respostas da API Pix.

    - Alteração da ordem de campos.

    - Adição de novos elementos em enumerações


    # Pix Automático


    Para implementar recorrências e cobranças automáticas, consulte o guia
    completo das

    [Jornadas de Autorização do Pix
    Automático](/docs/cobrancas/pix-automatico-jornadas).

    Este guia apresenta passo a passo as 4 jornadas de autorização definidas
    pelo Banco Central do Brasil,

    incluindo exemplos de uso dos endpoints e a ordem de execução necessária
    para cada jornada.


    # Tratamento de erros


    A API Pix retorna códigos de status HTTP para indicar sucesso ou falhas das

    requisições.


    Códigos `2xx` indicam sucesso. Códigos `4xx` indicam falhas causadas pelas

    informações enviadas pelo cliente ou pelo estado atual das entidades.
    Códigos `5xx`

    indicam problemas no serviço no lado da API Pix.


    As respostas de erro incluem no corpo detalhes do erro seguindo o

    _schema_ da [RFC 7807](https://tools.ietf.org/html/rfc7807).


    O campo `type` identifica o tipo de erro e na API Pix segue o padrão:


    `https://pix.bcb.gov.br/api/v2/error/<TipoErro>`


    O padrão acima listado, referente ao campo `type`, não consiste,
    necessariamente, em uma

    URL que apresentará uma página web válida, ou um endpoint válido, embora
    possa, futuramente,

    ser exatamente o caso. O objetivo primário é apenas e tão somente
    identificar o tipo de erro.


    Abaixo estão listados os tipos de erro e possíveis violações da API Pix.


    ## Gerais


    Esta seção reúne erros que poderiam ser retornados por quaisquer endpoints
    listados na API Pix.


    ### `RequisicaoInvalida`

      * __Significado__: Requisição inválida.
      * __HTTP Status Code__: [400 Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1).

    ### `AcessoNegado`

      * __Significado__: Requisição de participante autenticado que viola alguma regra de autorização.
      * __HTTP Status Code__: [403 Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3).

    ### `NaoEncontrado`

      * __Significado__: Entidade não encontrada.
      * __HTTP Status Code__: [404 Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4).

    ### `PermanentementeRemovido`

      * __Significado__: Indica que a entidade existia, mas foi permanentemente removida.
      * __HTTP Status Code__: [410 Gone](https://tools.ietf.org/html/rfc7231#section-6.5.9).

    ### `ErroInternoDoServidor`

      * __Significado__: Condição inesperada ao processar requisição.
      * __HTTP Status Code__: [500 Internal Server Error](https://tools.ietf.org/html/rfc7231#section-6.6.1).

    ### `ServicoIndisponivel`

      * __Significado__: Serviço não está disponível no momento. Serviço solicitado pode estar em manutenção ou fora da janela de funcionamento.
      * __HTTP Status Code__: [503 Service Unavailable](https://tools.ietf.org/html/rfc7231#section-6.6.4).

    ### `IndisponibilidadePorTempoEsgotado`

      * __Significado__: Indica que o serviço demorou além do esperado para retornar.
      * __HTTP Status Code__: [504 Gateway Timeout](https://tools.ietf.org/html/rfc7231#section-6.6.5).

    ## Tag  CobR 


    Esta seção reúne erros retornados pelos endpoints organizados sob a tag
    `CobR`.

    Esses erros indicam problemas no gerenciamento de uma cobrança recorrente.


    ### `CobRNaoEncontrado`


    * __Significado__: Cobrança não encontrada para o txid informado.

    * __HTTP Status Code__:
    [404](https://tools.ietf.org/html/rfc7231#section-6.5.4).

    * __endpoints__: `[GET|PATCH] /cobr/{txid}` e  `[POST]
    /cobr/{txid}/retentativa/{data}`.


    ### `CobROperacaoInvalida`


    * __Significado__: a requisição que busca alterar ou criar uma cobrança
    recorrente não respeita o _schema_ ou está semanticamente errada.

    * __HTTP Status Code__:
    [400](https://tools.ietf.org/html/rfc7231#section-6.5.1).

    * __endpoints__: `[POST|PUT|PATCH] /cobr/{txid}` e  `[POST]
    /cobr/{txid}/retentativa/{data}`.


    __Violações__ para o endpoint `POST|PUT /cobr/{txid}`:
      - O campo `cobr.infoAdicional` não respeita o _schema_.
      - O campo `cobr.status` não respeita o _schema_.
      - O objeto `cobr.calendario` não respeita o _schema_.
      - O campo `cobr.calendario.dataDeVencimento` é anterior à data de criação da cobrança.
      - O campo `cobr.valor` não respeita o _schema_.
      - O objeto `cobr.recebedor` não respeita o _schema_.
      - Os campos `cobr.recebedor.conta` e `cobr.recebedor.agencia` correspondem a uma conta que não pertence a este usuário recebedor.
      - O objeto `cobr.devedor` não respeita o _schema_.
      - O campo `cobr.txid` encontra-se em uso.
      - Existe uma CobR com status diferente de REJEITADA e CANCELADA referente ao mesmo `cobr.idRec` com `calendario.dataDeVencimento` no mesmo ciclo.

    __Violações__ para o endpoint `PATCH /cobr/{txid}`:

      - Não é possível cancelar uma cobrança em uma data igual ou maior que a data prevista da primeira tentativa de liquidação.

    __Violações__ para o endpoint `POST /cobr/{txid}/retentativa/{data}`:

      - Existe uma tentativa com status `SOLICITADA` ou `AGENDADA`.
      - Existe uma tentativa em andamento.
      - Existe uma tentativa ativa.
      - Existe uma tentativa não finalizada.
      - Existe uma tentativa vigente para a `data` informada.
      - O parâmetro `data` não corresponde a uma data futura.
      - A política configurada na recorrência não permite retentativa de cobrança.

    ### `CobRConsultaInvalida`


    * __Significado__: os parâmetros de consulta à lista de cobranças que não
    respeitam o schema

    ou não fazem sentido semanticamente.

    * __HTTP Status Code__:
    [400](https://tools.ietf.org/html/rfc7231#section-6.5.1).

    * __endpoints__: `GET /cobr` e `GET /cobr/{txid}`.


    __Violações__ específicas para o endpoint `GET /cobr`:
      - algum dos parâmetros informados para a consulta não respeita o _schema_.
      - o _timestamp_ representado pelo parâmetro `fim` é anterior ao timestamp
      representado pelo parâmetro `inicio`.
      - ambos os parâmetros `cpf` e `cnpj` estão preenchidos.
      - o parâmetro `paginacao.paginaAtual` é negativo.
      - o parâmetro `paginacao.itensPorPagina` é negativo.

    ## Tag  RecPayload 


    Esta seção reúne erros retornados pelos endpoints organizados sob a tag
    `RecPayload`.

    Estes erros indicam problemas na tentativa de recuperação, via _location_,
    do Payload JSON que representa a recorrência.


    ### `RecPayloadNaoEncontrado`


    * __Significado__: a recorrência em questão não foi encontrada para a
    location requisitada.

    * __HTTP Status Code__:
    [404](https://tools.ietf.org/html/rfc7231#section-6.5.4) ou
    [410](https://tools.ietf.org/html/rfc7231#section-6.5.9).

    * __endpoint__: `GET /rec/{recUrlAccessToken}`.


    Se a presente location exibia uma recorrência, mas não a exibirá mais de
    maneira permanentemente,

    pode-se aplicar o HTTP status code
    [410](https://tools.ietf.org/html/rfc7231#section-6.5.9). Se a presente
    location não

    está exibindo nenhuma recorrência, pode-se utilizar o HTTP status code
    [404](https://tools.ietf.org/html/rfc7231#section-6.5.4).


    Uma recorrência pode estar encerrada, cancelada ou rejeitada, nesses casos,
    é uma liberalidade

    do PSP recebedor retornar o presente código de erro ou optar por servir o
    payload de qualquer maneira,

    objetivando fornecer uma informação adicional ao usuário pagador final a
    respeito da recorrência.


    ### `RecPayloadOperacaoInvalida`


    * __Significado__: a recorrência em questão encontra-se encerrada, rejeitada
    ou cancelada para a location requisitada.

    * __HTTP Status Code__:
    [400](https://tools.ietf.org/html/rfc7231#section-6.5.1).

    * __endpoint__: `GET /rec/{recUrlAccessToken}`.


    __Violações__ para o endpoint `GET /rec/{recUrlAccessToken}`:
      - O campo `recUrlAccessToken` referencia uma recorrência encerrada, rejeitada ou cancelada.

    ## Tag  CobPayload 


    Esta seção reúne erros retornados pelos endpoints organizados sob a tag
    `CobPayload`.

    Estes erros indicam problemas na tentativa de recuperação, via _location_,
    do Payload JSON que representa a cobrança.


    ### `CobPayloadNaoEncontrado`


    * __Significado__: a cobrança em questão não foi encontrada para a location
    requisitada.

    * __HTTP Status Code__:
    [404](https://tools.ietf.org/html/rfc7231#section-6.5.4) ou
    [410](https://tools.ietf.org/html/rfc7231#section-6.5.9).

    * __endpoints__: `GET /{pixUrlAccessToken}`, `GET
    /cobv/{pixUrlAccessToken}`.


    Se a presente location exibia uma cobrança, mas não a exibirá mais de
    maneira permanentemente,

    pode-se aplicar o HTTP status code
    [410](https://tools.ietf.org/html/rfc7231#section-6.5.9). Se a presente
    location não

    está exibindo nenhuma cobrança, pode-se utilizar o HTTP status code
    [404](https://tools.ietf.org/html/rfc7231#section-6.5.4).


    Uma cobrança pode estar "expirada" (`calendario.expiracao`), "vencida",
    "Concluida",

    entre outros estados em que não poderia ser efetivamente paga. Nesses casos,
    é uma liberalidade

    do PSP recebedor retornar o presente código de erro ou optar por servir o
    payload de qualquer maneira,

    objetivando fornecer uma informação adicional ao usuário pagador final a
    respeito da cobrança.


    ### `CobPayloadOperacaoInvalida`


    * __Significado__: a cobrança existe, mas a requisição é inválida.

    * __HTTP Status Code__:
    [400](https://tools.ietf.org/html/rfc7231#section-6.5.1).

    * __endpoints__: `GET /cobv/{pixUrlAccessToken}`.


    __Violações__:
      - `codMun` não respeita o _schema_.
      - `codMun` não é um código válido segundo a __[tabela de municípios do IBGE](https://www.ibge.gov.br/explica/codigos-dos-municipios.php)__.
      - `DPP` não respeita o _schema_.
      - `DPP` anterior ao momento presente.
      - `DPP` superior à validade da cobrança em função dos parâmetros `calendario.dataDeVencimento`
      e `calendario.validadeAposVencimento`. Exemplo: `dataDeVencimento` => 2020-12-25,
      `validadeAposVencimento` => 10, `DPP` => 2021-01-05. Neste exemplo, o parâmetro `DPP` é
      inválido considerando o contexto apresentado porque é uma data em que a cobrança
      não poderá ser paga. A cobrança, neste exemplo, não será considerada válida
      a partir da data 2021-01-05.

    ## Tag SolicRec


    Esta seção reúne erros retornados pelos endpoints organizados sob a tag
    `SolicRec`.

    Esses erros indicam problemas no gerenciamento de uma solicitação de
    confirmação de recorrência.


    ### `SolicRecNaoEncontrada`


    * __Significado__: Solicitação de recorrência não encontrada para o
    idSolicRec informado.

    * __HTTP Status Code__:
    [404](https://tools.ietf.org/html/rfc7231#section-6.5.4).

    * __endpoints__: `[GET] /solicrec/{idSolicRec}`.


    ### `SolicRecOperacaoInvalida`


    * __Significado__: a requisição que busca criar ou alterar uma solicitação
    de confirmação de recorrência não respeita o _schema_ ou está semanticamente
    errada.

    * __HTTP Status Code__:
    [400](https://tools.ietf.org/html/rfc7231#section-6.5.1).

    * __endpoints__: `[POST] /solicrec` e `PATCH /solicrec/{idSolicRec}`.


    __Violações__ para o endpoint `POST /solicrec`:
      - O objeto `solicrec.calendario` não respeita o _schema_.
      - O campo `solicrec.calendario.dataExpiracaoSolicitacao` é anterior à data de criação da solicitação da recorrência.
      - O objeto `solicrec.destinatario` não respeita o _schema_.
      - Existe uma solicitação ativa referente ao mesmo `solicrec.idRec`.

    __Violações__ para o endpoint `PATCH /solicrec/{idSolicRec}`:
      - Não é possível cancelar uma solicitação de recorrência com o status diferente de CRIADA, ENVIADA ou RECEBIDA.

    ## Tag Cob


    Esta seção reúne erros retornados pelos endpoints organizados sob a tag
    `Cob`.

    Esses erros indicam problemas no gerenciamento de uma cobrança para
    pagamento imediato.


    ### `CobNaoEncontrado`


    * __Significado__: Cobrança não encontrada para o txid informado.

    * __HTTP Status Code__:
    [404](https://tools.ietf.org/html/rfc7231#section-6.5.4).

    * __endpoints__: `[GET|PATCH] /cob/{txid}`.


    ### `CobOperacaoInvalida`


    * __Significado__: a requisição que busca alterar ou criar uma cobrança para
    pagamento imediato

    não respeita o _schema_ ou está semanticamente errada.

    * __HTTP Status Code__:
    [400](https://tools.ietf.org/html/rfc7231#section-6.5.1).

    * __endpoints__: `[POST|PUT|PATCH] /cob/{txid}`.


    __Violações__ para os endpoints `PUT|PATCH /cob/{txid}`:
      - O campo `cob.calendario.expiracao` é igual ou menor que `zero`.
      - O campo `cob.valor.original` não respeita o _schema_.
      - O campo `cob.valor.original` é `zero`.
      - O objeto `cob.devedor` não respeita o _schema_.
      - O campo `cob.chave` não respeita o _schema_.
      - O campo `cob.chave` corresponde a uma conta que não pertence a este usuário recebedor.
      - O campo `solicitacaoPagador` não respeita o _schema_.
      - O objeto `infoAdicionais` não respeita o _schema_.
      - O `location` referenciado por `loc.id` inexiste.
      - O `location` referenciado por `loc.id` já está sendo utilizado por outra cobrança.
      - O `location` referenciado por `cob.loc.id` apresenta tipo "cobv" (deveria ser "cob").

    __Violações__ específicas para o endpoint `PUT /cob/{txid}`:
      - A cobrança já existe, não está no status ATIVA, e a presente requisição busca alterá-la.

    __Violações__ específicas para o endpoint `PATCH /cob/{txid}`:
      - A cobrança não está ATIVA, e a presente requisição busca alterá-la.
      - A cobrança está ATIVA, e a presente requisição propõe alterar
      seu status para _REMOVIDA_PELO_USUARIO_RECEBEDOR_ juntamente com outras alterações
      (não faz sentido remover uma cobrança ao mesmo tempo em que se realizam
      alterações que não serão aproveitadas).
      - o campo `cob.status` não respeita o _schema_.

    ### `CobConsultaInvalida`


    * __Significado__: os parâmetros de consulta à lista de cobranças para
    pagamento imediato

    não respeitam o _schema_ ou não fazem sentido semanticamente.

    * __HTTP Status Code__:
    [400](https://tools.ietf.org/html/rfc7231#section-6.5.1).

    * __endpoints__: `GET /cob` e `GET /cob/{txid}`.


    __Violações__ específicas para o endpoint `GET /cob`:
      - algum dos parâmetros informados para a consulta não respeita o _schema_.
      - o _timestamp_ representado pelo parâmetro `fim` é anterior ao timestamp
      representado pelo parâmetro `inicio`.
      - ambos os parâmetros `cpf` e `cnpj` estão preenchidos.
      - o parâmetro `paginacao.paginaAtual` é negativo.
      - o parâmetro `paginacao.itensPorPagina` é negativo.

    __Violações__ específicas para o endpoint `GET /cob/{txid}`:
      - o parâmetro `revisao` corresponde a uma revisão inexistente para a cobrança
      apontada pelo parâmetro `txid`.

    ## Tag CobV


    Esta seção reúne erros retornados pelos endpoints organizados sob a tag
    `CobV`.

    Esses erros indicam problemas no gerenciamento de uma cobrança com
    vencimento.


    ### `CobVNaoEncontrada`


    * __Significado__: Cobrança com vencimento não encontrada para o txid
    informado.

    * __HTTP Status Code__:
    [404](https://tools.ietf.org/html/rfc7231#section-6.5.4).

    * __endpoints__: `[GET|PATCH] /cobv/{txid}`.


    ### `CobVOperacaoInvalida`


    * __Significado__: a requisição que busca alterar ou criar uma cobrança com
    vencimento

    não respeita o _schema_ ou está semanticamente errada.

    * __HTTP Status Code__:
    [400](https://tools.ietf.org/html/rfc7231#section-6.5.1).

    * __endpoints__: `[PUT|PATCH] /cobv/{txid}`.


    __Violações__ para os endpoints `PUT|PATCH /cobv/{txid}`:
      - Este `txid` está associado a um lote e no referido lote, o status desta cobrança está atribuído como
      "EM_PROCESSAMENTO" ou "NEGADA".
      - O campo `cobv.calendario.dataDeVencimento` é anterior à data de criação da cobrança.
      - O campo `cobv.calendario.validadeAposVencimento` é menor do que zero.
      - O objeto `cobv.devedor` não respeita o _schema_.
      - O objeto `cobv.devedor` não respeita o _schema_.
      - O campo `cobv.chave` não respeita o _schema_.
      - O campo `cobv.chave` corresponde a uma conta que não pertence a este usuário recebedor.
      - O campo `solicitacaoPagador` não respeita o _schema_.
      - O objeto `infoAdicionais` não respeita o _schema_.
      - O location referenciado por `cobv.loc.id` inexiste.
      - O location referenciado por `cobv.loc.id` já está sendo utilizado por outra cobrança.
      - O location referenciado por `cobv.loc.id` apresenta tipo "cob" (deveria ser "cobv").
      - O campo `cobv.valor.original` não respeita o _schema_.
      - O campo `cobv.valor.original` apresenta o valor `zero`.
      - O objeto `cobv.valor.multa` não respeita o _schema_.
      - O objeto `cobv.valor.juros` não respeita o _schema_.
      - O objeto `cobv.valor.abatimento` não respeita o _schema_.
      - O objeto `cobv.valor.desconto` não respeita o _schema_.
      - O objeto `cobv.valor.abatimento` representa um valor maior ou igual ao valor da
      cobrança original ou maior ou igual a 100%.
      - O objeto `cobv.valor.desconto` apresenta algum elemento de desconto que representa um valor maior ou
      igual ao valor da cobrança original ou maior ou igual a 100%.
      - O objeto `cobv.valor.desconto` apresenta algum elemento cuja data seja posterior à data de vencimento
      representada por `calendario.dataDeVencimento`.
      - O objeto `cobv.valor.desconto` apresenta modalidade no valor `1` ou `2`,
      porém `cobv.valor.desconto.valorPerc` encontra-se preenchido
      - O objeto `cobv.valor.desconto` apresenta modalidade no valor `1` ou `2`, porém
      o array `cobv.valor.desconto.descontoDataFixa` está vazio ou nulo.
      - O objeto `cobv.valor.desconto` apresenta modalidade nos valores de `3` a `6`, porém
      o elemento `cobv.valor.desconto.valorPerc` não está preenchido.
      - O objeto `cobv.valor.desconto` apresenta modalidade nos valores de `3` a `6`, porém
      o elemento `cobv.valor.desconto.descontoDataFixa` está preenchido ou não nulo.



    __Violações__ específicas para o endpoint `PUT /cobv/{txid}`:
      - A cobrança já existe, não está ATIVA, e a presente requisição busca alterá-la

    __Violações__ específicas para o endpoint `PATCH /cobv/{txid}`:
      - A cobrança não está ATIVA, e a presente requisição busca alterá-la
      - A cobrança está ATIVA, e a presente requisição propõe alterar
      seu status para _REMOVIDA_PELO_USUARIO_RECEBEDOR_ juntamente com outras alterações
      (não faz sentido remover uma cobrança ao mesmo tempo em que se realizam
      alterações que não serão aproveitadas).
      - o campo `cob.status` não respeita o _schema_.

    ### `CobVConsultaInvalida`


    * __Significado__: os parâmetros de consulta à lista de cobranças com
    vencimento não respeitam o schema

    ou não fazem sentido semanticamente.

    * __HTTP Status Code__:
    [400](https://tools.ietf.org/html/rfc7231#section-6.5.1).

    * __endpoints__: `GET /cobv` e `GET /cobv/{txid}`.


    __Violações__ específicas para o endpoint `GET /cobv`:
      - algum dos parâmetros informados para a consulta não respeita o _schema_.
      - o _timestamp_ representado pelo parâmetro `fim` é anterior ao timestamp
      representado pelo parâmetro `inicio`.
      - ambos os parâmetros `cpf` e `cnpj` estão preenchidos.
      - o parâmetro `paginacao.paginaAtual` é negativo.
      - o parâmetro `paginacao.itensPorPagina` é negativo.

    __Violações__ específicas para o endpoint `GET /cobv/{txid}`:
      - o parâmetro `revisao` corresponde a uma revisão inexistente para a cobrança
      apontada pelo parâmetro `txid`.

    ## Tag PayloadLocation

    Esta seção reúne erros referentes a endpoints que tratam do gerenciamento de
    _locations_.


    ### `PayloadLocationNaoEncontrado`

    * __Significado__: _Location_ não encontrada para o `id` informado.

    * __HTTP Status Code__:
    [404](https://tools.ietf.org/html/rfc7231#section-6.5.4).

    * __endpoints__: `[GET|PATCH] /loc/{id}`, `DELETE /loc/{id}/txid`.


    ### `PayloadLocationOperacaoInvalida`


    * __Significado__: a presente requisição busca criar uma location sem
    respeitar o _schema_ estabelecido.

    * __HTTP Status Code__:
    [400](https://tools.ietf.org/html/rfc7231#section-6.5.1).

    * __endpoints__: `POST /loc`.


    __Violações__ para o endpoint `POST /loc`:
      - o campo `tipoCob` não respeita o _schema_.

    ### `PayloadLocationConsultaInvalida`


    * __Significado__: os parâmetros de consulta à lista de _locations_ não
    respeitam

    o _schema_ ou não fazem sentido semanticamente.

    * __HTTP Status Code__:
    [400](https://tools.ietf.org/html/rfc7231#section-6.5.1).

    * __endpoints__: `GET /loc` e `GET /loc/{id}`.


    __Violações__ específicas para o endpoint `GET /loc`:
      - algum dos parâmetros informados para a consulta não respeitam o _schema_.
      - o _timestamp_ representado pelo parâmetro `fim` é anterior ao timestamp
      representado pelo parâmetro `inicio`.
      - o parâmetro `paginacao.paginaAtual` é negativo.
      - o parâmetro `paginacao.itensPorPagina` é negativo.

    ## Tag Pix


    Reúne erros em endpoints de gestão de Pix recebidos e solicitação de
    devoluções.


    ### `PixNaoEncontrado`


    * __Significado__: pix não encontrada para o `e2eid` informado.

    * __HTTP Status Code__:
    [404](https://tools.ietf.org/html/rfc7231#section-6.5.4).

    * __endpoints__: `GET /pix/{e2eid}`


    ### `PixDevolucaoNaoEncontrada`


    * __Significado__: devolução representada por {id} não encontrada para o
    `e2eid` informado.

    * __HTTP Status Code__:
    [404](https://tools.ietf.org/html/rfc7231#section-6.5.4).

    * __endpoints__: `GET /pix/{e2eid}/devolucao/{id}`


    ### `PixConsultaInvalida`


    * __Significado__: os parâmetros de consulta à lista de pix recebidos não
    respeitam o schema

    ou não fazem sentido semanticamente.

    * __HTTP Status Code__:
    [400](https://tools.ietf.org/html/rfc7231#section-6.5.1).

    * __endpoints__: `GET /pix`.


    __Violações__ específicas para o endpoint `GET /pix`:
      - algum dos parâmetros informados para a consulta não respeita o _schema_.
      - o _timestamp_ representado pelo parâmetro `fim` é anterior ao timestamp
      representado pelo parâmetro `inicio`.
      - ambos os parâmetros `cpf` e `cnpj` estão preenchidos.
      - o parâmetro `paginacao.paginaAtual` é negativo.
      - o parâmetro `paginacao.itensPorPagina` é negativo.

    ### `PixDevolucaoInvalida`


    * __Significado__: a presente requisição de devolução não respeita o
    _schema_ ou não faz sentido semanticamente.

    * __HTTP Status Code__:
    [400](https://tools.ietf.org/html/rfc7231#section-6.5.1).

    * __endpoints__: `PUT /pix/{e2eid}/devolucao/{id}`.


    __Violações__ específicas para o endpoint `PUT /pix/{e2eid}/devolucao/{id}`:
      - O campo `devolucao.valor` não respeita o _schema_.
      - A presente requisição de devolução, em conjunto com as demais prévias devoluções,
      se aplicável, excederia o valor do pix originário.
      - A presente requisição de devolução apresenta um `{id}` já utilizado por outra requisição de
      devolução para o `{e2eid}` em questão.
      - A presente requisição de devolução viola a janela de tempo permitida para solicitações de devoluções
      de um pix (hoje estabelecida como 90 dias desde a data de liquidação original do pix).

    ## Tag Webhook

    Reúne erros dos endpoints que tratam do gerenciamento dos Webhooks da API
    Pix.


    ### `WebhookOperacaoInvalida`

    * __Significado__: a presente requisição busca criar um webhook sem
    respeitar o _schema_ ou,

    ainda, apresenta semântica inválida.

    * __HTTP Status Code__:
    [400](https://tools.ietf.org/html/rfc7231#section-6.5.1).

    * __endpoints__: `PUT /webhook/{chave}`.


    __Violações__ para o endpoint `PUT /webhook/{chave}`:
      - o parâmetro {chave} não corresponde a uma chave DICT válida.
      - o parâmetro {chave} não corresponde a uma chave DICT pertencente a este usuário recebedor.
      - Campo webhook.webhookUrl não respeita o _schema_.

    ### `WebhookNaoEncontrado`


    * __Significado__: o webhook denotado por {chave} não encontra-se
    estabelecido.

    * __HTTP Status Code__:
    [404](https://tools.ietf.org/html/rfc7231#section-6.5.4).

    * __endpoints__: `GET /webhook/{chave}`,  `DELETE /webhook/{chave}`


    ### `WebhookConsultaInvalida`


    * __Significado__: os parâmetros de consulta à lista de webhooks ativados
    não respeitam o schema

    ou não fazem sentido semanticamente.

    * __HTTP Status Code__:
    [400](https://tools.ietf.org/html/rfc7231#section-6.5.1).

    * __endpoints__: `GET /webhook`.


    __Violações__ específicas para o endpoint `GET /webhook`:
      - algum dos parâmetros informados para a consulta não respeita o _schema_.
      - o _timestamp_ representado pelo parâmetro `fim` é anterior ao timestamp
      representado pelo parâmetro `inicio`.
      - o parâmetro `paginacao.paginaAtual` é negativo.
      - o parâmetro `paginacao.itensPorPagina` é negativo.
    ## Tag WebhookRec

    Reúne erros dos endpoints que tratam do gerenciamento dos Webhooks de
    recorrências da API Pix.


    ### `WebhookRecOperacaoInvalida`

    * __Significado__: a presente requisição busca criar um webhook sem
    respeitar o _schema_ ou,

    ainda, apresenta semântica inválida.

    * __HTTP Status Code__:
    [400](https://tools.ietf.org/html/rfc7231#section-6.5.1).

    * __endpoints__: `PUT /webhookrec`.


    __Violações__ para o endpoint `PUT /webhookrec`:
      - o campo `webhookUrl` não respeita o _schema_.

    ### `WebhookRecConsultaInvalida`


    * __Significado__: os parâmetros de consulta à lista de webhooks ativados
    não respeitam o schema

    ou não fazem sentido semanticamente.

    * __HTTP Status Code__:
    [400](https://tools.ietf.org/html/rfc7231#section-6.5.1).

    * __endpoints__: `GET /webhookrec`.


    __Violações__ específicas para o endpoint `GET /webhookrec`:
      - algum dos parâmetros informados para a consulta não respeita o _schema_.
      - o _timestamp_ representado pelo parâmetro `fim` é anterior ao timestamp
      representado pelo parâmetro `inicio`.
      - o parâmetro `paginacao.paginaAtual` é negativo.
      - o parâmetro `paginacao.itensPorPagina` é negativo.

    ## Tag WebhookCobR

    Reúne erros dos endpoints que tratam do gerenciamento dos Webhooks de
    cobranças recorrentes da API Pix.


    ### `WebhookCobROperacaoInvalida`

    * __Significado__: a presente requisição busca criar um webhook sem
    respeitar o _schema_ ou,

    ainda, apresenta semântica inválida.

    * __HTTP Status Code__:
    [400](https://tools.ietf.org/html/rfc7231#section-6.5.1).

    * __endpoints__: `PUT /webhookcobr`.


    __Violações__ para o endpoint `PUT /webhookcobr`:
      - o campo `webhookUrl` não respeita o _schema_.

    ### `WebhookCobRConsultaInvalida`


    * __Significado__: os parâmetros de consulta à lista de webhooks ativados
    não respeitam o schema

    ou não fazem sentido semanticamente.

    * __HTTP Status Code__:
    [400](https://tools.ietf.org/html/rfc7231#section-6.5.1).

    * __endpoints__: `GET /webhookcobr`.


    __Violações__ específicas para o endpoint `GET /webhookcobr`:
      - algum dos parâmetros informados para a consulta não respeita o _schema_.
      - o _timestamp_ representado pelo parâmetro `fim` é anterior ao timestamp
      representado pelo parâmetro `inicio`.
      - o parâmetro `paginacao.paginaAtual` é negativo.
      - o parâmetro `paginacao.itensPorPagina` é negativo.
servers:
  - url: https://api.qrcodes-h.sulcredi.coop.br
tags:
  - name: Auth
    x-displayName: Autenticação
    description: >-
      Reúne endpoints destinados à autenticação e autorização de clientes da API
      Pix.
  - name: Rec
    x-displayName: Gerenciamento de recorrências
    description: Reúne endpoints destinados a lidar com gerenciamento de recorrências.
  - name: SolicRec
    x-displayName: Gerenciamento de solicitações de recorrências
    description: >-
      Reúne endpoints destinados a lidar com gerenciamento de solicitações de
      recorrências.
  - name: CobR
    x-displayName: Gerenciamento de cobranças associadas a uma recorrência
    description: >-
      Reúne endpoints destinados a lidar com gerenciamento de cobranças
      associadas a uma recorrência.
  - name: Cob
    x-displayName: Gerenciamento de cobranças para pagamento imediato
    description: >-
      Reúne endpoints destinados a lidar com gerenciamento de cobranças
      imediatas.
  - name: CobV
    x-displayName: Gerenciamento de cobranças com vencimento
    description: >-
      Reúne endpoints destinados a lidar com gerenciamento de cobranças com
      vencimento.
  - name: PayloadLocation
    x-displayName: Configuração de locations para payloads
    description: >-
      Reúne endpoints destinados a lidar com configuração e remoção de locations
      para uso dos payloads
  - name: PayloadLocationRec
    x-displayName: Configuração de locations para payloads de recorrências
    description: >-
      Reúne endpoints destinados a lidar com configuração e remoção de locations
      para uso dos payloads de recorrências
  - name: Pix
    x-displayName: Gerenciamento de Pix recebidos
    description: reúne endpoints destinados a lidar com  gerenciamento de Pix recebidos.
  - name: Webhook
    x-displayName: Gerenciamento de notificações
    description: >-
      Reúne endpoints para gerenciamento de notificações por parte do PSP
      recebedor ao usuário recebedor.
  - name: WebhookRec
    x-displayName: Gerenciamento de notificações de recorrências
    description: >-
      Reúne endpoints para gerenciamento de notificações de recorrências por
      parte do PSP recebedor ao usuário recebedor.
  - name: WebhookCobR
    x-displayName: Gerenciamento de notificações de cobranças recorrentes
    description: >-
      Reúne endpoints para gerenciamento de notificações de cobranças
      recorrentes por parte do PSP recebedor ao usuário recebedor.
paths:
  /oauth/token:
    post:
      tags:
        - Auth
      summary: Obter token de acesso
      requestBody:
        $ref: '#/components/requestBodies/AuthData'
      responses:
        '201':
          description: Authentication successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthResponse'
        '401':
          description: Credenciais inválidas
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                exemplo1:
                  $ref: '#/components/examples/NaoAutorizadoExample1'
  /cob/{txid}:
    parameters:
      - name: txid
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/TxId'
    put:
      tags:
        - Cob
      summary: Criar cobrança imediata.
      security:
        - OAuth2:
            - cob.write
      description: Endpoint para criar uma cobrança imediata.
      requestBody:
        $ref: '#/components/requestBodies/CobBody'
      responses:
        '201':
          description: Cobrança imediata criada
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CobGerada'
              examples:
                retorno1:
                  $ref: '#/components/examples/cobResponse1'
                retorno2:
                  $ref: '#/components/examples/cobResponse5'
                retorno3:
                  $ref: '#/components/examples/cobResponse6'
                retorno4:
                  $ref: '#/components/examples/cobResponse7'
        '400':
          description: Requisição com formato inválido.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                exemplo1:
                  $ref: '#/components/examples/RequisicaoInvalidaCobExample1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
    patch:
      tags:
        - Cob
      summary: Revisar cobrança imediata.
      security:
        - OAuth2:
            - cob.write
      requestBody:
        $ref: '#/components/requestBodies/CobBodyRevisada'
      responses:
        '200':
          description: Cobrança imediata revisada. A revisão deve ser incrementada em 1.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CobGerada'
              examples:
                retorno1:
                  $ref: '#/components/examples/cobResponse3'
        '400':
          description: Requisição com formato inválido.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                exemplo1:
                  $ref: '#/components/examples/OperacaoInvalidaCobExample1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
    get:
      parameters:
        - name: revisao
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/Revisao'
      tags:
        - Cob
      summary: Consultar cobrança imediata.
      security:
        - OAuth2:
            - cob.read
      description: Endpoint para consultar uma cobrança através de um determinado txid.
      responses:
        '200':
          description: Dados da cobrança imediata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CobCompleta'
              examples:
                retorno1:
                  $ref: '#/components/examples/cobResponse1'
                retorno2:
                  $ref: '#/components/examples/cobResponse2'
                retorno3:
                  $ref: '#/components/examples/cobResponse5'
                retorno4:
                  $ref: '#/components/examples/cobResponse6'
                retorno5:
                  $ref: '#/components/examples/cobResponse7'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /cob:
    post:
      tags:
        - Cob
      summary: Criar cobrança imediata.
      security:
        - OAuth2:
            - cob.write
      description: >-
        Endpoint para criar uma cobrança imediata, neste caso, o txid deve ser
        definido pelo PSP.
      requestBody:
        $ref: '#/components/requestBodies/CobBody'
      responses:
        '201':
          description: Cobrança imediata criada
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CobGerada'
              examples:
                retorno1:
                  $ref: '#/components/examples/cobResponse1'
                retorno2:
                  $ref: '#/components/examples/cobResponse5'
                retorno3:
                  $ref: '#/components/examples/cobResponse6'
                retorno4:
                  $ref: '#/components/examples/cobResponse7'
        '400':
          description: Requisição com formato inválido.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                exemplo1:
                  $ref: '#/components/examples/RequisicaoInvalidaCobExample1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
    get:
      parameters:
        - in: query
          name: inicio
          required: true
          schema:
            $ref: '#/components/schemas/Inicio'
        - in: query
          name: fim
          required: true
          schema:
            $ref: '#/components/schemas/Fim'
        - name: cpf
          in: query
          schema:
            type: string
            title: CPF
            pattern: /^\d{11}$/
            description: >-
              Filtro pelo CPF do devedor. Não pode ser utilizado ao mesmo tempo
              que o CNPJ.
        - name: cnpj
          in: query
          schema:
            type: string
            title: CNPJ
            pattern: /^\d{14}$/
            description: >-
              Filtro pelo CNPJ do devedor. Não pode ser utilizado ao mesmo tempo
              que o CPF.
        - name: locationPresente
          in: query
          schema:
            type: boolean
        - name: status
          in: query
          schema:
            type: string
            title: Status do registro da cobrança
            description: Filtro pelo status da cobrança.
        - $ref: '#/components/parameters/paginaAtual'
        - $ref: '#/components/parameters/itensPorPagina'
      tags:
        - Cob
      summary: Consultar lista de cobranças imediatas.
      security:
        - OAuth2:
            - cob.read
      description: >-
        Endpoint para consultar cobranças imediatas através de parâmetros como
        início, fim, cpf, cnpj e status.
      responses:
        '200':
          description: Lista de cobranças imediatas.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CobsConsultadas'
              examples:
                getCobs1:
                  $ref: '#/components/examples/getCobs1'
                getCobs2:
                  $ref: '#/components/examples/getCobs2'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /cobv/{txid}:
    parameters:
      - name: txid
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/TxId'
    put:
      tags:
        - CobV
      summary: Criar cobrança com vencimento.
      security:
        - OAuth2:
            - cobv.write
      description: Endpoint para criar uma cobrança com vencimento.
      requestBody:
        $ref: '#/components/requestBodies/CobVBody'
      responses:
        '201':
          description: Cobrança com vencimento criada
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CobVGerada'
              examples:
                retorno1:
                  $ref: '#/components/examples/cobResponse4'
        '400':
          description: Requisição com formato inválido.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                exemplo1:
                  $ref: '#/components/examples/RequisicaoInvalidaCobVExample1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
    patch:
      tags:
        - CobV
      summary: Revisar cobrança com vencimento.
      security:
        - OAuth2:
            - cobv.write
      requestBody:
        $ref: '#/components/requestBodies/CobVBodyRevisada'
      responses:
        '200':
          description: >-
            Cobrança com vencimento revisada. A revisão deve ser incrementada em
            1.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CobVGerada'
              examples:
                retorno1:
                  $ref: '#/components/examples/cobResponse4'
        '400':
          description: Requisição com formato inválido.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                exemplo1:
                  $ref: '#/components/examples/OperacaoInvalidaCobVExample1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
    get:
      parameters:
        - name: revisao
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/Revisao'
      tags:
        - CobV
      summary: Consultar cobrança com vencimento.
      security:
        - OAuth2:
            - cobv.read
      description: >-
        Endpoint para consultar uma cobrança com vencimento através de um
        determinado txid.
      responses:
        '200':
          description: Dados da cobrança com vencimento.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CobVCompleta'
              examples:
                retorno1:
                  $ref: '#/components/examples/cobResponse4'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /cobv:
    get:
      parameters:
        - in: query
          name: inicio
          required: true
          schema:
            $ref: '#/components/schemas/Inicio'
        - in: query
          name: fim
          required: true
          schema:
            $ref: '#/components/schemas/Fim'
        - name: cpf
          in: query
          schema:
            type: string
            title: CPF
            pattern: /^\d{11}$/
            description: >-
              Filtro pelo CPF do devedor. Não pode ser utilizado ao mesmo tempo
              que o CNPJ.
        - name: cnpj
          in: query
          schema:
            type: string
            title: CNPJ
            pattern: /^\d{14}$/
            description: >-
              Filtro pelo CNPJ do devedor. Não pode ser utilizado ao mesmo tempo
              que o CPF.
        - name: locationPresente
          in: query
          schema:
            type: boolean
        - name: status
          in: query
          schema:
            type: string
            title: Status do registro da cobrança
            description: Filtro pelo status da cobrança.
        - $ref: '#/components/parameters/paginaAtual'
        - $ref: '#/components/parameters/itensPorPagina'
      tags:
        - CobV
      summary: Consultar lista de cobranças com vencimento.
      security:
        - OAuth2:
            - cobv.read
      description: >-
        Endpoint para consultar cobranças com vencimento através de parâmetros
        como início, fim, cpf, cnpj e status.
      responses:
        '200':
          description: Lista de cobranças com vencimento.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CobsVConsultadas'
              examples:
                getCobs1:
                  $ref: '#/components/examples/getCobsV1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /lotecobv/{id}:
    parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          title: >-
            Identificador do lote de cobranças com vencimento, em formato de
            texto.
    put:
      tags:
        - LoteCobV
      summary: Criar/Alterar lote de cobranças com vencimento.
      security:
        - OAuth2:
            - lotecobv.write
      description: >-
        Endpoint utilizado para criar ou alterar um lote de cobranças com
        vencimento.


        Para o caso de uso de alteração de cobranças, o array a ser atribuído na
        requisicão

        deve ser composto pelas exatas requisições de criação de cobranças que

        constaram no array atribuído na requisição originária.


        Não se pode utilizar este endpoint para _alterar_ um lote de cobranças
        com vencimento

        agregando ou removendo cobranças já existentes dentro do conjunto de
        cobranças

        criadas na requisição originária do lote.


        Em outras palavras, se originalmente criou-se um lote, por exemplo, com
        as cobranças

        [`a`, `b` e `c`], não se pode _alterar_ esse conjunto de cobranças
        original que o

        lote representa para [`a`, `b`, `c`, `d`], ou para [`a`, `b`].

        Por outro lado, pode-se alterar, _em lote_ as cobranças [`a`, `b`, `c`],

        conforme originalmente constam na requisição originária do lote.


        Uma solicitação de __criação__ de cobrança com status "EM_PROCESSAMENTO"
        ou "NEGADA"

        está associada a uma cobrança não _existe_ de fato, portanto não será

        listada em `GET /cobv` ou `GET /cobv/{txid}`.


        Uma cobrança, uma vez criada via `PUT /cobv/{txid}`,

        não pode ser associada a um lote posteriormente.


        Uma cobrança, uma vez criada via `PUT /lotecobv/{id}`,

        não pode ser associada a um novo lote posteriormente.
      requestBody:
        $ref: '#/components/requestBodies/LoteCobVBody'
      responses:
        '202':
          description: Lote de cobranças com vencimento solicitado para criação.
        '400':
          description: Requisição com formato inválido.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                exemplo1:
                  $ref: '#/components/examples/RequisicaoInvalidaLoteCobVExample1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
    patch:
      tags:
        - LoteCobV
      summary: >-
        Utilizado para revisar cobranças específicas dentro de um lote de
        cobranças com vencimento.
      security:
        - OAuth2:
            - lotecobv.write
      description: >-
        Endpoint utilizado para revisar cobranças específicas dentro de um lote
        de cobranças com vencimento. 


        A diferença deste endpoint para o endpoint PUT correlato é que este
        endpoint admite um array

        `cobsv` com menos solicitações de criação ou alteração de cobranças do
        que o array atribuído na requisição originária do lote.


        Não se pode, entretanto, utilizar esse endpoint para agregar ou remover
        solicitações de

        alteração ou criação de cobranças conforme constam na requisição
        originária do lote.
      requestBody:
        $ref: '#/components/requestBodies/LoteCobVBodyRevisado'
      responses:
        '202':
          description: >-
            Solicitação de revisão do Lote de cobranças encaminhada para
            processamento.
        '400':
          description: Requisição com formato inválido.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                exemplo1:
                  $ref: '#/components/examples/OperacaoInvalidaCobVExample1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
    get:
      tags:
        - LoteCobV
      summary: Consultar um lote específico de cobranças com vencimento.
      security:
        - OAuth2:
            - lotecobv.read
      description: Endpoint para consultar um lote de cobranças com vencimento.
      responses:
        '200':
          description: Lote de cobranças com vencimento.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoteCobVConsultado'
              examples:
                exemplo1:
                  $ref: '#/components/examples/loteCobVResponse1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /lotecobv:
    get:
      parameters:
        - in: query
          name: inicio
          required: true
          schema:
            $ref: '#/components/schemas/Inicio'
        - in: query
          name: fim
          required: true
          schema:
            $ref: '#/components/schemas/Fim'
        - $ref: '#/components/parameters/paginaAtual'
        - $ref: '#/components/parameters/itensPorPagina'
      tags:
        - LoteCobV
      summary: Consultar lotes de cobranças com vencimento.
      security:
        - OAuth2:
            - lotecobv.read
      description: Endpoint para consultar lista de lotes de cobranças com vencimento.
      responses:
        '200':
          description: Lotes de cobranças com vencimento.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LotesCobVConsultados'
              examples:
                exemplo1:
                  $ref: '#/components/examples/getLotesCobsV'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /locrec:
    post:
      tags:
        - PayloadLocationRec
      summary: Criar location do payload.
      security:
        - OAuth2:
            - payloadlocationrec.write
      description: Criar location do payload
      responses:
        '201':
          description: Dados da location do Payload.
          headers:
            location:
              schema:
                type: string
                format: uri
                title: Identificador da location criada.
                description: Identificador da location criada.
                example: pix.example.com/api/loc/1234567
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayloadLocationRecGerada'
              examples:
                response1:
                  $ref: '#/components/examples/payloadLocationRecResponse2'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
    get:
      parameters:
        - in: query
          name: inicio
          required: true
          schema:
            $ref: '#/components/schemas/Inicio'
        - in: query
          name: fim
          required: true
          schema:
            $ref: '#/components/schemas/Fim'
        - name: idRecPresente
          in: query
          schema:
            type: boolean
        - name: convenio
          in: query
          schema:
            type: string
            title: Convênio
            maxLength: 60
            description: Filtro pelo convênio associado.
        - $ref: '#/components/parameters/paginaAtual'
        - $ref: '#/components/parameters/itensPorPagina'
      tags:
        - PayloadLocationRec
      summary: Consultar locations cadastradas.
      security:
        - OAuth2:
            - payloadlocationrec.read
      description: Endpoint para consultar locations cadastradas
      responses:
        '200':
          description: lista dos locations cadastrados de acordo com o critério de busca.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayloadLocationRecConsultadas'
              examples:
                getPayloadLocationsRec:
                  $ref: '#/components/examples/getPayloadLocationRec1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /locrec/{id}:
    parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          title: Id da location cadastrada para servir um payload
    get:
      tags:
        - PayloadLocationRec
      summary: Recuperar location do payload.
      security:
        - OAuth2:
            - payloadlocationrec.read
      description: Recupera a location do payload
      responses:
        '200':
          description: Dados da location do Payload.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayloadLocationRecCompleta'
              examples:
                response1:
                  $ref: '#/components/examples/payloadLocationRecResponse1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /locrec/{id}/idRec:
    parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          title: Id da location cadastrada para servir um payload
    delete:
      tags:
        - PayloadLocationRec
      summary: Desvincular uma recorrência de uma location.
      description: >
        Endpoint utilizado para desvincular uma recorrência de uma location.


        Se executado com sucesso, a entidade `loc` não apresentará mais uma
        recorrência,

        se apresentava anteriormente à chamada. Adicionalmente, a entidade
        associada ao

        recurso desvinculado também passará a não mais apresentar um _location_.
        Esta operação

        não altera o `status` do recurso em questão.
      security:
        - OAuth2:
            - payloadlocationrec.write
      responses:
        '200':
          description: >-
            Entidade representada pelo recurso informado desvinculada com
            sucesso.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayloadLocationRecCompleta'
              examples:
                response1:
                  $ref: '#/components/examples/payloadLocationRecResponse2'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /loc:
    post:
      tags:
        - PayloadLocation
      summary: Criar location do payload.
      security:
        - OAuth2:
            - payloadlocation.write
      description: Criar location do payload
      requestBody:
        $ref: '#/components/requestBodies/PayloadLocationBody'
      responses:
        '201':
          description: Dados da location do Payload.
          headers:
            location:
              schema:
                type: string
                format: uri
                title: Identificador da location criada.
                description: Identificador da location criada.
                example: pix.example.com/api/loc/1234567
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayloadLocation'
              examples:
                getPayloadLocation1:
                  $ref: '#/components/examples/payloadLocationResponse5'
                getPayloadLocation2:
                  $ref: '#/components/examples/payloadLocationResponse6'
        '400':
          description: Requisição com formato inválido.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                exemplo1:
                  $ref: '#/components/examples/RequisicaoInvalidaLocationExample1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
    get:
      parameters:
        - in: query
          name: inicio
          required: true
          schema:
            $ref: '#/components/schemas/Inicio'
        - in: query
          name: fim
          required: true
          schema:
            $ref: '#/components/schemas/Fim'
        - name: txIdPresente
          in: query
          schema:
            type: boolean
        - name: tipoCob
          in: query
          schema:
            type: string
            enum:
              - cob
              - cobv
        - $ref: '#/components/parameters/paginaAtual'
        - $ref: '#/components/parameters/itensPorPagina'
      tags:
        - PayloadLocation
      summary: Consultar locations cadastradas.
      security:
        - OAuth2:
            - payloadlocation.read
      description: Endpoint para consultar locations cadastradas
      responses:
        '200':
          description: lista dos locations cadastrados de acordo com o critério de busca.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayloadLocationConsultadas'
              examples:
                getCobs1:
                  $ref: '#/components/examples/getPayloadLocation1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /loc/{id}:
    parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          title: Id da location cadastrada para servir um payload
    get:
      tags:
        - PayloadLocation
      summary: Recuperar location do payload.
      security:
        - OAuth2:
            - payloadlocation.read
      description: Recupera a location do payload
      responses:
        '200':
          description: Dados da location do Payload.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayloadLocationCompleta'
              examples:
                getPayloadLocation1:
                  $ref: '#/components/examples/payloadLocationResponse1'
                getPayloadLocation2:
                  $ref: '#/components/examples/payloadLocationResponse2'
                getPayloadLocation3:
                  $ref: '#/components/examples/payloadLocationResponse3'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /loc/{id}/txid:
    parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          title: Id da location cadastrada para servir um payload
    delete:
      tags:
        - PayloadLocation
      summary: Desvincular uma cobrança de uma location.
      description: >
        Endpoint utilizado para desvincular uma cobrança de uma location.


        Se executado com sucesso, a entidade `loc` não apresentará mais um txid,

        se apresentava anteriormente à chamada. Adicionalmente, a entidade `cob`
        ou `cobv` associada ao

        txid desvinculado também passará a não mais apresentar um _location_.
        Esta operação

        não altera o `status` da `cob` ou `cobv` em questão.
      security:
        - OAuth2:
            - payloadlocation.write
      responses:
        '200':
          description: cobrança representada pelo txid informado desvinculada com sucesso.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayloadLocation'
              examples:
                getPayloadLocation1:
                  $ref: '#/components/examples/payloadLocationResponse4'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /pix/{e2eid}:
    parameters:
      - name: e2eid
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/EndToEndId'
    get:
      tags:
        - Pix
      summary: Consultar Pix.
      security:
        - OAuth2:
            - pix.read
      description: Endpoint para consultar um Pix através de um e2eid.
      responses:
        '200':
          description: Dados do Pix efetuado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pix'
              examples:
                retorno1:
                  $ref: '#/components/examples/pixResponse1'
                retorno2:
                  $ref: '#/components/examples/pixResponse2'
                retorno3:
                  $ref: '#/components/examples/pixResponse3'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /pix:
    get:
      parameters:
        - in: query
          name: inicio
          required: true
          schema:
            $ref: '#/components/schemas/Inicio'
        - in: query
          name: fim
          required: true
          schema:
            $ref: '#/components/schemas/Fim'
        - name: txid
          in: query
          schema:
            allOf:
              - $ref: '#/components/schemas/TxId'
              - pattern: '[a-zA-Z0-9]{1,35}'
        - name: txIdPresente
          in: query
          schema:
            type: boolean
        - name: devolucaoPresente
          in: query
          schema:
            type: boolean
        - name: cpf
          in: query
          schema:
            type: string
            title: CPF
            pattern: /^\d{11}$/
            description: >-
              Filtro pelo CPF do pagador. Não pode ser utilizado ao mesmo tempo
              que o CNPJ.
        - name: cnpj
          in: query
          schema:
            type: string
            title: CNPJ
            pattern: /^\d{14}$/
            description: >-
              Filtro pelo CNPJ do pagador. Não pode ser utilizado ao mesmo tempo
              que o CPF.
        - $ref: '#/components/parameters/paginaAtual'
        - $ref: '#/components/parameters/itensPorPagina'
      tags:
        - Pix
      summary: Consultar Pix recebidos.
      security:
        - OAuth2:
            - pix.read
      description: Endpoint para consultar Pix recebidos
      responses:
        '200':
          description: lista dos Pix recebidos de acordo com o critério de busca.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PixConsultados'
              examples:
                getCobs1:
                  $ref: '#/components/examples/getPix1'
                getCobs2:
                  $ref: '#/components/examples/getPix2'
                getCobs3:
                  $ref: '#/components/examples/getPix3'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /pix/{e2eid}/devolucao/{id}:
    parameters:
      - name: e2eid
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/EndToEndId'
      - name: id
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/DevolucaoId'
    put:
      tags:
        - Pix
      summary: Solicitar devolução.
      security:
        - OAuth2:
            - pix.write
      description: >
        Endpoint para solicitar uma devolução através de um e2eid do Pix e do ID
        da devolução. O motivo que será atribuído à PACS.004 será "MD06" ou
        "SL02" de acordo com a aba RTReason da PACS.004 que consta no Catálogo
        de Mensagens do Pix a depender da `natureza` da devolução (Vide a
        descrição deste campo).
      requestBody:
        $ref: '#/components/requestBodies/DevolucaoBody'
      responses:
        '201':
          description: Dados da devolução.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Devolucao'
              examples:
                retorno1:
                  $ref: '#/components/examples/devolucaoResponse1'
        '400':
          description: Requisição com formato inválido.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                exemplo1:
                  $ref: '#/components/examples/RequisicaoInvalidaDevolucaoExample1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
    get:
      tags:
        - Pix
      summary: Consultar devolução.
      security:
        - OAuth2:
            - pix.read
      description: >-
        Endpoint para consultar uma devolução através de um End To End ID do Pix
        e do ID da devolução
      responses:
        '200':
          description: Dados da devolução.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Devolucao'
              examples:
                retorno1:
                  $ref: '#/components/examples/devolucaoResponse1'
                retorno2:
                  $ref: '#/components/examples/devolucaoResponse2'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /webhook/{chave}:
    parameters:
      - name: chave
        in: path
        required: true
        schema:
          type: string
          title: Chave DICT do recebedor
          maxLength: 77
    put:
      tags:
        - Webhook
      summary: Configurar o Webhook Pix.
      description: >
        Endpoint para configuração do serviço de notificações acerca de Pix
        recebidos.

        Somente Pix associados a um txid serão notificados.
      security:
        - OAuth2:
            - webhook.write
      requestBody:
        $ref: '#/components/requestBodies/WebhookConfigBody'
      responses:
        '200':
          description: >-
            Webhook para notificações acerca de Pix recebidos associados a um
            txid.
          content:
            application/json:
              examples:
                refundExample:
                  $ref: '#/components/examples/RequisicaoValidaWebhookExample1'
        '400':
          description: Requisição com formato inválido.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                exemplo1:
                  $ref: '#/components/examples/RequisicaoInvalidaWebhookExample1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
      callbacks:
        listaPix:
          '{$request.body#/webhookUrl}/pix':
            post:
              description: >
                O callback deve ser acionado sempre que um ou mais Pix
                associados a um txid forem recebidos

                pelo usuário recebedor e desde que a chave associada ao Pix em
                questão esteja

                associada a um webhook cadastrado.


                O callback também deve ser acionado sempre que uma devolução
                associada a um Pix

                associado a um txid atinja um status final: `DEVOLVIDO` ou
                `NAO_REALIZADO`.


                O SLA específico a ser definido no contexto dos acionamento dos
                callbacks fica a

                cargo de cada PSP recebedor. Orienta-se, no entanto, que o SLA
                seja definido dentro

                de um limite razoável tendo em vista que a expectativa é que o
                callback seja um aviso "on-line" da

                ocorrência do pagamento.


                No contexto da estratégia específica de SLA de cada PSP
                recebedor, é possível agrupar

                Pix associados a uma mesma chave para economizar acionamentos
                múltiplos.

                Este serviço está protegido por uma camada de autenticação mTLS.
                Para maiores detalhes,

                verificar o [Manual de padrões para iniciação do
                Pix](https://www.bcb.gov.br/estabilidadefinanceira/pix).
              security: []
              requestBody:
                $ref: '#/components/requestBodies/WebhookPixBody'
              responses:
                '200':
                  description: Notificação recebida com sucesso
    get:
      tags:
        - Webhook
      summary: Exibir informações acerca do Webhook Pix.
      description: |
        Endpoint para recuperação de informações sobre o Webhook Pix.
      security:
        - OAuth2:
            - webhook.read
      responses:
        '200':
          description: Dados do webhook.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookCompleto'
              examples:
                exemplo1:
                  $ref: '#/components/examples/webhookResponse1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
    delete:
      tags:
        - Webhook
      summary: Cancelar o webhook Pix.
      description: >
        Endpoint para cancelamento do webhook. Não é a única forma pela qual um
        webhook pode ser

        removido.


        O PSP recebedor está livre para remover unilateralmente um webhook que
        esteja associado

        a uma chave que não pertence mais a este usuário recebedor.
      security:
        - OAuth2:
            - webhook.write
      responses:
        '204':
          description: Webhook para notificações Pix foi cancelado.
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /webhook:
    get:
      parameters:
        - in: query
          name: inicio
          required: false
          schema:
            $ref: '#/components/schemas/Inicio'
        - in: query
          name: fim
          required: false
          schema:
            $ref: '#/components/schemas/Fim'
        - $ref: '#/components/parameters/paginaAtual'
        - $ref: '#/components/parameters/itensPorPagina'
      tags:
        - Webhook
      summary: Consultar webhooks cadastrados.
      security:
        - OAuth2:
            - webhook.read
      description: Endpoint para consultar Webhooks cadastrados
      responses:
        '200':
          description: lista dos locations cadastrados de acordo com o critério de busca.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhooksConsultados'
              examples:
                getCobs1:
                  $ref: '#/components/examples/getWebhook1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /webhookrec:
    put:
      tags:
        - WebhookRec
      summary: Configurar Webhook.
      description: >
        Endpoint para configuração do serviço de notificações acerca de
        recorrências. Somente recorrências associadas a chave e conta serão
        notificadas.
      security:
        - OAuth2:
            - webhookrec.write
      requestBody:
        $ref: '#/components/requestBodies/WebhookRecConfigBody'
      responses:
        '200':
          description: Webhook para notificações.
        '400':
          description: Requisição com formato inválido.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                exemplo1:
                  $ref: '#/components/examples/RequisicaoInvalidaWebhookExample1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
      callbacks:
        rec:
          '{$request.body#/webhookUrl}/rec':
            post:
              description: ''
              security: []
              requestBody:
                $ref: '#/components/requestBodies/WebhookRecBody'
              responses:
                '200':
                  description: Notificação recebida com sucesso
    get:
      tags:
        - WebhookRec
      summary: Exibir informações acerca do Webhook.
      description: |
        Endpoint para recuperação de informações sobre o Webhook.
      security:
        - OAuth2:
            - webhookrec.read
      responses:
        '200':
          description: Dados do webhook.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookRecCompleto'
              examples:
                response1:
                  $ref: '#/components/examples/recWebhookResponse1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
    delete:
      tags:
        - WebhookRec
      summary: Cancelar o Webhook.
      description: >
        Endpoint para cancelamento do webhook. Não é a única forma pela qual um
        webhook pode ser

        removido.
      security:
        - OAuth2:
            - webhookrec.write
      responses:
        '204':
          description: Webhook para notificações foi cancelado.
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /webhookcobr:
    put:
      tags:
        - WebhookCobR
      summary: Configurar Webhook.
      description: >
        Endpoint para configuração do serviço de notificações acerca de
        cobranças recorrentes. Somente cobranças recorrentes associadas ao
        usuário recebedor serão notificadas.
      security:
        - OAuth2:
            - webhookcobr.write
      requestBody:
        $ref: '#/components/requestBodies/WebhookCobRConfigBody'
      responses:
        '200':
          description: Webhook para notificações.
        '400':
          description: Requisição com formato inválido.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                exemplo1:
                  $ref: '#/components/examples/RequisicaoInvalidaWebhookExample1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
      callbacks:
        cobr:
          '{$request.body#/webhookUrl}/cobr':
            post:
              description: ''
              security: []
              requestBody:
                $ref: '#/components/requestBodies/WebhookCobRBody'
              responses:
                '200':
                  description: Notificação recebida com sucesso
    get:
      tags:
        - WebhookCobR
      summary: Exibir informações acerca do Webhook.
      description: |
        Endpoint para recuperação de informações sobre o Webhook.
      security:
        - OAuth2:
            - webhookcobr.read
      responses:
        '200':
          description: Dados do webhook.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookCobRCompleto'
              examples:
                response1:
                  $ref: '#/components/examples/cobRWebhookResponse1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
    delete:
      tags:
        - WebhookCobR
      summary: Cancelar o Webhook.
      description: >
        Endpoint para cancelamento do webhook. Não é a única forma pela qual um
        webhook pode ser

        removido.
      security:
        - OAuth2:
            - webhookcobr.write
      responses:
        '204':
          description: Webhook para notificações foi cancelado.
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /rec/{idRec}:
    parameters:
      - name: idRec
        in: path
        required: true
        schema:
          type: string
          title: Id da location cadastrada para servir um payload
    get:
      tags:
        - Rec
      parameters:
        - name: txid
          in: query
          required: false
          schema:
            type: string
            title: TxId da cobrança associada a recorrência.
      summary: Consultar recorrência.
      security:
        - OAuth2:
            - rec.read
      description: Consultar recorrência.
      responses:
        '200':
          description: Dados da recorrência.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecCompleta'
              examples:
                response1:
                  $ref: '#/components/examples/recResponse3'
                response2:
                  $ref: '#/components/examples/recResponse4'
                response3:
                  $ref: '#/components/examples/recResponse5'
                response4:
                  $ref: '#/components/examples/recResponse6'
                response5:
                  $ref: '#/components/examples/recResponse7'
                response6:
                  $ref: '#/components/examples/recResponse8'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
    patch:
      tags:
        - Rec
      summary: Revisar recorrência.
      security:
        - OAuth2:
            - rec.write
      description: Revisar recorrência.
      requestBody:
        $ref: '#/components/requestBodies/RecBodyRevisada'
      responses:
        '200':
          description: Recorrência revisada.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecGerada'
              examples:
                retorno1:
                  $ref: '#/components/examples/recResponse1'
        '400':
          description: Requisição com formato inválido.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                requisicao1:
                  $ref: '#/components/examples/OperacaoInvalidaRecExample1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /rec:
    get:
      parameters:
        - in: query
          name: inicio
          required: true
          schema:
            $ref: '#/components/schemas/Inicio'
        - in: query
          name: fim
          required: true
          schema:
            $ref: '#/components/schemas/Fim'
        - name: cpf
          in: query
          schema:
            type: string
            title: CPF
            pattern: /^\d{11}$/
            description: >-
              Filtro pelo CPF do devedor. Não pode ser utilizado ao mesmo tempo
              que o CNPJ.
        - name: cnpj
          in: query
          schema:
            type: string
            title: CNPJ
            pattern: /^\d{14}$/
            description: >-
              Filtro pelo CNPJ do devedor. Não pode ser utilizado ao mesmo tempo
              que o CPF.
        - name: locationPresente
          in: query
          schema:
            type: boolean
        - name: status
          in: query
          schema:
            type: string
            title: Status do registro da recorrência
            description: Filtro pelo status da recorrência.
        - name: convenio
          in: query
          schema:
            type: string
            title: Convênio
            maxLength: 60
            description: Filtro pelo convênio associado.
        - $ref: '#/components/parameters/paginaAtual'
        - $ref: '#/components/parameters/itensPorPagina'
      tags:
        - Rec
      summary: Consultar lista de recorrências.
      security:
        - OAuth2:
            - rec.read
      description: Consultar lista de recorrências.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecsConsultadas'
              examples:
                retorno1:
                  $ref: '#/components/examples/getRec1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
    post:
      tags:
        - Rec
      summary: Criar recorrência.
      security:
        - OAuth2:
            - rec.write
      description: Criar recorrência
      requestBody:
        $ref: '#/components/requestBodies/RecBody'
      responses:
        '201':
          description: Recorrência criada
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecGerada'
              examples:
                retorno1:
                  $ref: '#/components/examples/recResponse1'
                retorno2:
                  $ref: '#/components/examples/recResponse2'
        '400':
          description: Requisição com formato inválido.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                requisicao1:
                  $ref: '#/components/examples/OperacaoInvalidaRecExample1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /solicrec:
    post:
      tags:
        - SolicRec
      summary: Criar solicitação de confirmação de recorrência.
      security:
        - OAuth2:
            - solicrec.write
      description: Criar solicitação de confirmação de recorrência.
      requestBody:
        $ref: '#/components/requestBodies/SolicRecBody'
      responses:
        '201':
          description: Solicitação de recorrência criada
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SolicRecCompleta'
              examples:
                response1:
                  $ref: '#/components/examples/solicRecResponse1'
        '400':
          description: Requisição com formato inválido.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                requisicao1:
                  $ref: '#/components/examples/OperacaoInvalidaSolicRecExample1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /solicrec/{idSolicRec}:
    parameters:
      - name: idSolicRec
        in: path
        required: true
        schema:
          type: string
          title: Id da solicitação da recorrência
    get:
      tags:
        - SolicRec
      summary: Consultar solicitação de confirmação de recorrência.
      security:
        - OAuth2:
            - solicrec.read
      description: Consultar solicitação.
      responses:
        '200':
          description: Dados da solicitação da recorrência.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SolicRecCompleta'
              examples:
                response1:
                  $ref: '#/components/examples/solicRecResponse1'
                response2:
                  $ref: '#/components/examples/solicRecResponse2'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
    patch:
      tags:
        - SolicRec
      summary: Revisar solicitação de confirmação de recorrência.
      security:
        - OAuth2:
            - solicrec.write
      description: Revisar solicitação de confirmação de recorrência.
      requestBody:
        $ref: '#/components/requestBodies/SolicRecBodyRevisada'
      responses:
        '201':
          description: Solicitação de recorrência atualizada
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SolicRecCompleta'
              examples:
                response1:
                  $ref: '#/components/examples/solicRecResponse3'
        '400':
          description: Requisição com formato inválido.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                requisicao1:
                  $ref: '#/components/examples/OperacaoInvalidaSolicRecExample2'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /cobr/{txid}:
    parameters:
      - name: txid
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/TxId'
    put:
      tags:
        - CobR
      summary: Criar cobrança recorrente.
      security:
        - OAuth2:
            - cobr.write
      description: Endpoint para criar uma cobrança recorrente.
      requestBody:
        $ref: '#/components/requestBodies/CobRBody'
      responses:
        '201':
          description: Cobrança imediata recorrente.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CobRGerada'
              examples:
                response1:
                  $ref: '#/components/examples/cobRResponse2'
        '400':
          description: Requisição com formato inválido.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                requisicao1:
                  $ref: '#/components/examples/OperacaoInvalidaCobRExample1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
    patch:
      tags:
        - CobR
      summary: Revisar cobrança recorrente.
      security:
        - OAuth2:
            - cobr.write
      requestBody:
        $ref: '#/components/requestBodies/CobRBodyRevisada'
      responses:
        '200':
          description: Cobrança recorrente revisada.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CobRGerada'
              examples:
                response1:
                  $ref: '#/components/examples/cobRResponse4'
        '400':
          description: Requisição com formato inválido.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                exemplo1:
                  $ref: '#/components/examples/OperacaoInvalidaCobRExample2'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
    get:
      tags:
        - CobR
      summary: Consultar cobrança recorrente.
      security:
        - OAuth2:
            - cobr.read
      description: >-
        Endpoint para consultar uma cobrança recorrente através de um
        determinado txid.
      responses:
        '200':
          description: Dados da cobrança recorrente.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CobRCompleta'
              examples:
                response1:
                  $ref: '#/components/examples/cobRResponse2'
                response2:
                  $ref: '#/components/examples/cobRResponse3'
                response3:
                  $ref: '#/components/examples/cobRResponse4'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /cobr:
    post:
      tags:
        - CobR
      summary: Criar cobrança recorrente.
      security:
        - OAuth2:
            - cobr.write
      description: >-
        Endpoint para criar uma cobrança recorrente, neste caso, o txid deve ser
        definido pelo PSP.
      requestBody:
        $ref: '#/components/requestBodies/CobRBody'
      responses:
        '201':
          description: Cobrança recorrente criada.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CobRGerada'
              examples:
                response1:
                  $ref: '#/components/examples/cobRResponse1'
        '400':
          description: Requisição com formato inválido.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                requisicao1:
                  $ref: '#/components/examples/OperacaoInvalidaCobRExample1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
    get:
      parameters:
        - in: query
          name: inicio
          required: true
          schema:
            $ref: '#/components/schemas/Inicio'
        - in: query
          name: fim
          required: true
          schema:
            $ref: '#/components/schemas/Fim'
        - name: idRec
          in: query
          schema:
            type: string
            title: ID Recorrência
            pattern: '[a-zA-Z0-9]{29}'
            minLength: 29
            maxLength: 29
            description: Filtro pelo Identificador da Recorrência.
        - name: cpf
          in: query
          schema:
            type: string
            title: CPF
            pattern: /^\d{11}$/
            description: >-
              Filtro pelo CPF do devedor. Não pode ser utilizado ao mesmo tempo
              que o CNPJ.
        - name: cnpj
          in: query
          schema:
            type: string
            title: CNPJ
            pattern: /^\d{14}$/
            description: >-
              Filtro pelo CNPJ do devedor. Não pode ser utilizado ao mesmo tempo
              que o CPF.
        - name: status
          in: query
          schema:
            type: string
            title: Status do registro da recorrência
            description: Filtro pelo status da recorrência.
        - name: convenio
          in: query
          schema:
            type: string
            title: Convênio
            maxLength: 60
            description: Filtro pelo convênio associado.
        - $ref: '#/components/parameters/paginaAtual'
        - $ref: '#/components/parameters/itensPorPagina'
      tags:
        - CobR
      summary: Consultar lista de cobranças recorrentes.
      security:
        - OAuth2:
            - cobr.read
      description: >-
        Endpoint para consultar cobranças recorrentes através de parâmetros como
        início, fim, idRec, cpf, cnpj, status e convênio.
      responses:
        '200':
          description: Lista de cobranças recorrentes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CobsRConsultadas'
              examples:
                retorno1:
                  $ref: '#/components/examples/getCobR1'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
  /cobr/{txid}/retentativa/{data}:
    parameters:
      - name: txid
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/TxId'
      - name: data
        in: path
        required: true
        description: >-
          Data prevista para liquidação da ordem de pagamento correspondente.
          Trata-se de uma data, no formato `YYYY-MM-DD`, segundo ISO 8601.
        schema:
          type: string
          format: date
          example: '2023-04-01'
    post:
      tags:
        - CobR
      summary: Solicitar retentativa de cobrança.
      security:
        - OAuth2:
            - cobr.write
      description: Endpoint para solicitar retentativa de uma cobrança recorrente.
      responses:
        '201':
          description: Cobrança recorrente.
          content:
            application/json:
              schema:
                allOf:
                  - required:
                      - tentativas
                  - $ref: '#/components/schemas/CobRCompleta'
              examples:
                response1:
                  $ref: '#/components/examples/cobRResponse3'
        '400':
          description: Requisição com formato inválido.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problema'
              examples:
                exemplo1:
                  $ref: >-
                    #/components/examples/RequisicaoInvalidaCobRTentativaExample1
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
components:
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: /oauth/token
          scopes:
            cob.write: Permissão para alteração de cobranças imediatas
            cob.read: Permissão para consulta de cobranças imediatas
            cobr.write: Permissão para alteração de cobranças recorrentes
            cobr.read: Permissão para consulta de cobranças recorrentes
            rec.write: Permissão para alteração de recorrências
            rec.read: Permissão para consulta de recorrências
            solicrec.write: Permissão para alteração de solicitações de recorrências
            solicrec.read: Permissão para consulta de solicitações de recorrências
            cobv.write: Permissão para alteração de cobranças com vencimento
            cobv.read: Permissão para consulta de cobranças com vencimento
            lotecobv.write: Permissão para alteração de lotes de cobranças com vencimento
            lotecobv.read: Permissão para consulta de lotes de cobranças com vencimento
            pix.write: Permissão para alteração de Pix
            pix.read: Permissão para consulta de Pix
            webhook.read: Permissão para consulta do webhook
            webhook.write: Permissão para alteração do webhook
            webhookrec.read: Permissão para consulta do webhook
            webhookrec.write: Permissão para alteração do webhook
            webhookcobr.read: Permissão para consulta do webhook
            webhookcobr.write: Permissão para alteração do webhook
            payloadlocation.write: Permissão para alteração de payloads
            payloadlocation.read: Permissão para consulta de payloads
            payloadlocationrec.write: Permissão para alteração de payloads
            payloadlocationrec.read: Permissão para consulta de payloads
  examples:
    cobBody1:
      summary: Exemplo de criação de cobrança com vencimento 1
      value:
        calendario:
          dataDeVencimento: '2020-12-31'
          validadeAposVencimento: 30
        loc:
          id: 789
        devedor:
          logradouro: Alameda Souza, Numero 80, Bairro Braz
          cidade: Recife
          uf: PE
          cep: '70011750'
          cpf: '12345678909'
          nome: Francisco da Silva
        valor:
          original: '123.45'
          multa:
            modalidade: '2'
            valorPerc: '15.00'
          juros:
            modalidade: '2'
            valorPerc: '2.00'
          desconto:
            modalidade: '1'
            descontoDataFixa:
              - data: '2020-11-30'
                valorPerc: '30.00'
        chave: 5f84a4c5-c5cb-4599-9f13-7eb4d419dacc
        solicitacaoPagador: Cobrança dos serviços prestados.
    cobBody2:
      summary: Exemplo de criação de cobrança imediata 1
      value:
        calendario:
          expiracao: 3600
        devedor:
          cnpj: '12345678000195'
          nome: Empresa de Serviços SA
          contas:
            - numero: '123456'
              agencia: '0001'
              ispb: '11112222'
        valor:
          original: '37.00'
          modalidadeAlteracao: 1
        chave: 7d9f0335-8dcc-4054-9bf9-0dbd61d36906
        solicitacaoPagador: Serviço realizado.
        infoAdicionais:
          - nome: Campo 1
            valor: Informação Adicional1 do PSP-Recebedor
          - nome: Campo 2
            valor: Informação Adicional2 do PSP-Recebedor
    cobBody3:
      summary: Exemplo de revisão de cobrança 1
      value:
        loc:
          id: 7768
        devedor:
          cpf: '12345678909'
          nome: Francisco da Silva
        valor:
          original: '123.45'
        solicitacaoPagador: Cobrança dos serviços prestados.
    cobBody4:
      summary: Exemplo de revisão de cobrança 2
      value:
        valor:
          original: '567.89'
        solicitacaoPagador: Informar cartão fidelidade
    cobBody5:
      summary: Exemplo de revisão de cobrança 3
      value:
        status: REMOVIDA_PELO_USUARIO_RECEBEDOR
    cobBody6:
      summary: Exemplo de criação de cobrança imediata com Saque Pix
      value:
        devedor:
          cnpj: '12345678000195'
          nome: Empresa de Serviços SA
        valor:
          original: '0.00'
          modalidadeAlteracao: 0
          retirada:
            saque:
              valor: '5.00'
              modalidadeAlteracao: 0
              modalidadeAgente: AGPSS
              prestadorDoServicoDeSaque: '12345678'
        chave: 7d9f0335-8dcc-4054-9bf9-0dbd61d36906
    cobBody7:
      summary: Exemplo de revisão de cobrança com vencimento 1
      value:
        loc:
          id: 789
        devedor:
          logradouro: Alameda Souza, Numero 80, Bairro Braz
          cidade: Recife
          uf: PE
          cep: '70011750'
          cpf: '12345678909'
          nome: Francisco da Silva
        valor:
          original: '123.45'
        solicitacaoPagador: Cobrança dos serviços prestados.
    cobBody8:
      summary: Exemplo de criação de cobrança imediata com Saque Pix 2
      value:
        devedor:
          cnpj: '12345678000195'
          nome: Empresa de Serviços SA
        valor:
          original: '0.00'
          modalidadeAlteracao: 0
          retirada:
            saque:
              valor: '20.00'
              modalidadeAlteracao: 1
              modalidadeAgente: AGPSS
              prestadorDoServicoDeSaque: '12345678'
        chave: 7d9f0335-8dcc-4054-9bf9-0dbd61d36906
    cobBody9:
      summary: Exemplo de criação de cobrança imediata com Saque Pix 3
      value:
        devedor:
          cnpj: '12345678000195'
          nome: Empresa de Serviços SA
        valor:
          original: '10.00'
          modalidadeAlteracao: 0
          retirada:
            troco:
              valor: '0.00'
              modalidadeAlteracao: 1
              modalidadeAgente: AGTEC
              prestadorDoServicoDeSaque: '12345678'
        chave: 7d9f0335-8dcc-4054-9bf9-0dbd61d36906
    cobRBody1:
      summary: Exemplo de criação de cobrança recorrente 1
      value:
        idRec: RR1234567820240115abcdefghijk
        infoAdicional: Serviços de Streamming de Música e Filmes.
        calendario:
          dataDeVencimento: '2024-04-15'
        valor:
          original: '106.07'
        ajusteDiaUtil: true
        devedor:
          cep: 89256-140
          cidade: Uberlândia
          email: sebastiao.tavares@mail.com
          logradouro: Alameda Franco 1056
          uf: MG
        recebedor:
          agencia: '9708'
          conta: '012682'
          tipoConta: CORRENTE
    cobRBody2:
      summary: Exemplo de revisão de cobrança recorrente 1
      value:
        status: CANCELADA
    cobRResponse1:
      summary: Exemplo de cobrança recorrente 1
      value:
        idRec: RR1234567820240115abcdefghijk
        txid: 3136957d93134f2184b369e8f1c0729d
        infoAdicional: Serviços de Streamming de Música e Filmes.
        calendario:
          criacao: '2024-04-01'
          dataDeVencimento: '2024-04-15'
        status: CRIADA
        valor:
          original: '106.07'
        politicaRetentativa: PERMITE_3R_7D
        ajusteDiaUtil: true
        devedor:
          cep: 89256-140
          cidade: Uberlândia
          email: sebastiao.tavares@mail.com
          logradouro: Alameda Franco 1056
          uf: MG
        recebedor:
          agencia: '9708'
          conta: '012682'
          tipoConta: CORRENTE
        atualizacao:
          - data: '2024-04-01T14:47:29.470Z'
            status: CRIADA
    cobRResponse2:
      summary: Exemplo de cobrança recorrente 1
      value:
        idRec: RR1234567820240115abcdefghijk
        txid: 3136957d93134f2184b369e8f1c0729d
        infoAdicional: Serviços de Streamming de Música e Filmes.
        calendario:
          criacao: '2024-04-01'
          dataDeVencimento: '2024-04-15'
        valor:
          original: '106.07'
        status: CRIADA
        politicaRetentativa: PERMITE_3R_7D
        ajusteDiaUtil: true
        devedor:
          cep: 89256-140
          cidade: Uberlândia
          email: sebastiao.tavares@mail.com
          logradouro: Alameda Franco 1056
          uf: MG
        recebedor:
          agencia: '9708'
          conta: '012682'
          tipoConta: CORRENTE
        atualizacao:
          - data: '2024-04-01T14:47:29.470Z'
            status: CRIADA
    cobRResponse3:
      summary: Exemplo de cobrança recorrente 2
      value:
        idRec: RR123456782024061999000566354
        txid: 7f733863543b4a16b516d839bd4bc34e
        calendario:
          criacao: '2024-05-20'
          dataDeVencimento: '2024-06-20'
        valor:
          original: '50.33'
        status: ATIVA
        politicaRetentativa: PERMITE_3R_7D
        ajusteDiaUtil: true
        devedor:
          cep: 63259-740
          cidade: Campinas
          email: beltrano.silva@mail.com
          logradouro: Rua Gonçalves Dias 605
          uf: SP
        recebedor:
          cnpj: '58966551101210'
          conta: '997182'
          tipoConta: CORRENTE
        tentativas:
          - dataLiquidacao: '2024-06-22'
            tipo: AGND
            endToEndId: E12345678202406201221abcdef12345
            status: EXPIRADA
          - dataLiquidacao: '2024-06-24'
            tipo: NTAG
            endToEndId: E12345678202406201221abcdef12345
            status: AGENDADA
        atualizacao:
          - data: '2024-05-20T14:47:29.470Z'
            status: CRIADA
          - data: '2024-05-21T10:18:20.120Z'
            status: ATIVA
    cobRResponse4:
      summary: Exemplo de cobrança recorrente 3
      value:
        idRec: RN985156112024071999000566354
        txid: 517bd858b59d458a841280b0f0a60bfa
        calendario:
          criacao: '2024-05-20'
          dataDeVencimento: '2024-06-20'
        valor:
          original: '210.00'
        status: CANCELADA
        politicaRetentativa: NAO_PERMITE
        ajusteDiaUtil: true
        devedor:
          cep: 26901-340
          cidade: São Luís
          email: fulano.tal@mail.com
          logradouro: Alameda Cardoso 1007
          uf: MA
        recebedor:
          cnpj: '31166575201770'
          conta: '107262'
          nome: Empresa de Telecomunicações SA
          tipoConta: POUPANÇA
        tentativas:
          - dataLiquidacao: '2024-06-20'
            tipo: AGND
            endToEndId: E12345678202406201221abcdef12345
            status: CANCELADA
        encerramento:
          cancelamento:
            solicitante: USUARIO_RECEBEDOR
            codigo: SLCR
            descricao: Cancelamento de agendamento solicitado pelo usuário recebedor
        atualizacao:
          - data: '2024-05-20T14:47:29.470Z'
            status: CRIADA
          - data: '2024-05-21T10:18:20.120Z'
            status: ATIVA
          - data: '2024-05-26T10:18:20.120Z'
            status: CANCELADA
    loteCobVBody1:
      summary: Exemplo de criação de lote de cobranças com vencimento 1
      value:
        descricao: Cobranças dos alunos do turno vespertino
        cobsv:
          - calendario:
              dataDeVencimento: '2020-12-31'
              validadeAposVencimento: 30
            txid: fb2761260e554ad593c7226beb5cb650
            loc:
              id: 789
            devedor:
              logradouro: Alameda Souza, Numero 80, Bairro Braz
              cidade: Recife
              uf: PE
              cep: '70011750'
              cpf: '08577095428'
              nome: João Souza
            valor:
              original: '100.00'
            chave: 7c084cd4-54af-4172-a516-a7d1a12b75cc
            solicitacaoPagador: Informar matrícula
          - calendario:
              dataDeVencimento: '2020-12-31'
              validadeAposVencimento: 30
            txid: 7978c0c97ea847e78e8849634473c1f1
            loc:
              id: 57221
            devedor:
              logradouro: Rua 15, Numero 1, Bairro Campo Grande
              cidade: Recife
              uf: PE
              cep: '70055751'
              cpf: '15311295449'
              nome: Manoel Silva
            valor:
              original: '100.00'
            chave: 7c084cd4-54af-4172-a516-a7d1a12b75cc
            solicitacaoPagador: Informar matrícula
    loteCobVBodyRevisado1:
      summary: Exemplo de revisão de lote de cobranças com vencimento 1
      value:
        cobsv:
          - calendario:
              dataDeVencimento: '2020-01-10'
            txid: fb2761260e554ad593c7226beb5cb650
            valor:
              original: '110.00'
          - calendario:
              dataDeVencimento: '2020-01-10'
            txid: 7978c0c97ea847e78e8849634473c1f1
            valor:
              original: '110.00'
    cobResponse1:
      summary: Exemplo de cobrança imediata 1
      value:
        calendario:
          criacao: '2020-09-09T20:15:00.358Z'
          expiracao: 3600
        txid: 7978c0c97ea847e78e8849634473c1f1
        revisao: 0
        loc:
          id: 789
          location: pix.example.com/qr/9d36b84fc70b478fb95c12729b90ca25
          tipoCob: cob
        location: pix.example.com/qr/9d36b84fc70b478fb95c12729b90ca25
        status: ATIVA
        devedor:
          cnpj: '12345678000195'
          nome: Empresa de Serviços SA
        valor:
          original: '37.00'
          modalidadeAlteracao: 1
        chave: 7d9f0335-8dcc-4054-9bf9-0dbd61d36906
        solicitacaoPagador: Serviço realizado.
        infoAdicionais:
          - nome: Campo 1
            valor: Informação Adicional1 do PSP-Recebedor
          - nome: Campo 2
            valor: Informação Adicional2 do PSP-Recebedor
    cobResponse2:
      summary: Exemplo de cobrança imediata 2
      value:
        calendario:
          criacao: '2020-09-09T20:15:00.358Z'
          expiracao: 3600
        txid: 655dfdb1a4514b8fbb58254b958913fb
        revisao: 1
        loc:
          id: 567
          location: pix.example.com/qr/1dd7f893a58e417287028dc33e21a403
        location: pix.example.com/qr/1dd7f893a58e417287028dc33e21a403
        status: CONCLUIDA
        devedor:
          cnpj: '12345678000195'
          nome: Empresa de Serviços SA
        valor:
          original: '100.00'
          modalidadeAlteracao: 0
        chave: 40a0932d-1918-4eee-845d-35a2da1690dc
        solicitacaoPagador: Informar cartão fidelidade
        pix:
          - endToEndId: E12345678202009091221kkkkkkkkkkk
            txid: 655dfdb1a4514b8fbb58254b958913fb
            valor: '110.00'
            horario: '2020-09-09T20:15:00.358Z'
            infoPagador: '0123456789'
            devolucoes:
              - id: 123ABC
                rtrId: Dxxxxxxxx202009091221kkkkkkkkkkk
                valor: '10.00'
                horario:
                  solicitacao: '2020-09-09T20:15:00.358Z'
                status: EM_PROCESSAMENTO
    cobResponse3:
      summary: Exemplo de cobrança revisada 1
      value:
        calendario:
          criacao: '2020-09-09T20:15:00.358Z'
          expiracao: 3600
        txid: 7978c0c97ea847e78e8849634473c1f1
        revisao: 1
        loc:
          id: 7768
          location: pix.example.com/qr/b1/9d36b84fc70b478fb95c12729b90ca25
          tipoCob: cob
        location: pix.example.com/qr/v1/9d36b84fc70b478fb95c12729b90ca25
        status: ATIVA
        devedor:
          cpf: '12345678909'
          nome: Francisco da Silva
        valor:
          original: '123.45'
          modalidadeAlteracao: 0
        chave: a1f4102e-a446-4a57-bcce-6fa48899c1d1
        solicitacaoPagador: Cobrança dos serviços prestados.
    cobResponse4:
      summary: Exemplo de cobrança com vencimento 1
      value:
        calendario:
          criacao: '2020-09-09T20:15:00.358Z'
          dataDeVencimento: '2020-12-31'
          validadeAposVencimento: 30
        txid: 7978c0c97ea847e78e8849634473c1f1
        revisao: 0
        loc:
          id: 789
          location: pix.example.com/qr/c2/cobv/9d36b84fc70b478fb95c12729b90ca25
          tipoCob: cobv
        status: ATIVA
        devedor:
          logradouro: Alameda Souza, Numero 80, Bairro Braz
          cidade: Recife
          uf: PE
          cep: '70011750'
          cpf: '12345678909'
          nome: Francisco da Silva
        recebedor:
          logradouro: Rua 15 Numero 1200, Bairro São Luiz
          cidade: São Paulo
          uf: SP
          cep: '70800100'
          cnpj: '56989000019533'
          nome: Empresa de Logística SA
        valor:
          original: '123.45'
        chave: 5f84a4c5-c5cb-4599-9f13-7eb4d419dacc
        solicitacaoPagador: Cobrança dos serviços prestados.
    cobResponse5:
      summary: Exemplo de cobrança imediata com Saque Pix
      value:
        calendario:
          criacao: '2020-09-09T20:15:00.358Z'
          expiracao: 3600
        txid: 33beb661beda44a8928fef47dbeb2dc5
        revisao: 0
        loc:
          id: 1004
          location: pix.example.com/qr/7faa6893c4e64893a503baf0d40af213
          tipoCob: cob
        location: pix.example.com/qr/7faa6893c4e64893a503baf0d40af213
        status: ATIVA
        devedor:
          cnpj: '12345678000195'
          nome: Empresa de Serviços SA
        valor:
          original: '0.00'
          modalidadeAlteracao: 0
          retirada:
            saque:
              valor: '5.00'
              modalidadeAlteracao: 0
              modalidadeAgente: AGPSS
              prestadorDoServicoDeSaque: '12345678'
        chave: 7d9f0335-8dcc-4054-9bf9-0dbd61d36906
    cobResponse6:
      summary: Exemplo de cobrança imediata com Saque Pix 2
      value:
        calendario:
          criacao: '2020-09-09T20:15:00.358Z'
          expiracao: 3600
        txid: 33beb661beda44a8928fef47dbeb2dc5
        revisao: 0
        loc:
          id: 1004
          location: pix.example.com/qr/7faa6893c4e64893a503baf0d40af213
          tipoCob: cob
        location: pix.example.com/qr/7faa6893c4e64893a503baf0d40af213
        status: ATIVA
        devedor:
          cnpj: '12345678000195'
          nome: Empresa de Serviços SA
        valor:
          original: '0.00'
          modalidadeAlteracao: 0
          retirada:
            saque:
              valor: '20.00'
              modalidadeAlteracao: 1
              modalidadeAgente: AGPSS
              prestadorDoServicoDeSaque: '12345678'
        chave: 7d9f0335-8dcc-4054-9bf9-0dbd61d36906
    cobResponse7:
      summary: Exemplo de cobrança imediata com Saque Pix 3
      value:
        calendario:
          criacao: '2020-09-09T20:15:00.358Z'
          expiracao: 3600
        txid: 33beb661beda44a8928fef47dbeb2dc5
        revisao: 0
        loc:
          id: 1004
          location: pix.example.com/qr/7faa6893c4e64893a503baf0d40af213
          tipoCob: cob
        location: pix.example.com/qr/7faa6893c4e64893a503baf0d40af213
        status: ATIVA
        devedor:
          cnpj: '12345678000195'
          nome: Empresa de Serviços SA
        valor:
          original: '10.00'
          modalidadeAlteracao: 0
          retirada:
            troco:
              valor: '0.00'
              modalidadeAlteracao: 1
              modalidadeAgente: AGTEC
              prestadorDoServicoDeSaque: '12345678'
        chave: 7d9f0335-8dcc-4054-9bf9-0dbd61d36906
    recBody1:
      summary: Exemplo de Recorrência 1
      value:
        vinculo:
          contrato: '63100862'
          devedor:
            cpf: '45164632481'
            nome: Fulano de Tal
          objeto: Serviço de Streamming de Música.
        calendario:
          dataFinal: '2025-04-01'
          dataInicial: '2024-04-01'
          periodicidade: MENSAL
        valor:
          valorRec: '35.00'
        politicaRetentativa: NAO_PERMITE
        loc: 108
        ativacao:
          dadosJornada:
            txid: 33beb661beda44a8928fef47dbeb2dc5
    recBody2:
      summary: Exemplo de Recorrência 2
      value:
        vinculo:
          contrato: '998782003'
          devedor:
            cpf: '02989131415'
            nome: Beltrano da Silva
          objeto: Serviço de Plano de Saúde.
        calendario:
          dataInicial: '2024-10-10'
          periodicidade: ANUAL
        valor:
          valorMinimoRecebedor: '5000.00'
        politicaRetentativa: PERMITE_3R_7D
    recBody3:
      summary: Exemplo de Revisão de Recorrência 1
      value:
        loc: 108
        vinculo:
          devedor:
            nome: Fulano de Tal
        calendario:
          dataInicial: '2024-04-01'
        ativacao:
          dadosJornada:
            txid: 33beb661beda44a8928fef47dbeb2dc5
    recResponse1:
      summary: Exemplo de Recorrência 1
      value:
        idRec: RN1234567820240115abcdefghijk
        vinculo:
          contrato: '63100862'
          devedor:
            cpf: '45164632481'
            nome: Fulano de Tal
          objeto: Serviço de Streamming de Música.
        calendario:
          dataFinal: '2025-04-01'
          dataInicial: '2024-04-01'
          periodicidade: MENSAL
        politicaRetentativa: NAO_PERMITE
        recebedor:
          cnpj: '01602606113708'
          nome: Empresa de Serviços SA
        valor:
          valorRec: '35.00'
        status: CRIADA
        loc:
          criacao: '2023-12-10T07:10:05.115Z'
          id: 108
          location: pix.example.com/qr/v2/rec/2353c790eefb11eaadc10242ac120002
          idRec: RN1234567820240115abcdefghijk
        ativacao:
          dadosJornada:
            tipoJornada: JORNADA_3
            txid: 33beb661beda44a8928fef47dbeb2dc5
        atualizacao:
          - data: '2023-12-19T12:28:05.230Z'
            nome: CRIADA
    recResponse2:
      summary: Exemplo de Recorrência 2
      value:
        idRec: RR1234567820240115abcdefghijk
        vinculo:
          contrato: '998782003'
          devedor:
            cpf: '02989131415'
            nome: Beltrano da Silva
          objeto: Serviço de Plano de Saúde.
        calendario:
          dataInicial: '2024-10-10'
          periodicidade: ANUAL
        politicaRetentativa: PERMITE_3R_7D
        recebedor:
          cnpj: '09172302153900'
          nome: Empresa de Serviços de Saúde SA
        valor:
          valorMinimoRecebedor: '5000.00'
        status: CRIADA
        atualizacao:
          - data: '2024-01-11T10:27:01.280Z'
            nome: CRIADA
    recResponse3:
      summary: Exemplo de Recorrência Completa com Dados QR Jornada 2
      value:
        idRec: RN1234567820240115abcdefghijk
        status: APROVADA
        valor:
          valorRec: '300.00'
        vinculo:
          contrato: '98625023'
          devedor:
            cpf: '87734514122'
            nome: Fulano de Tal
          objeto: Serviços de Gestão de Imóveis
        calendario:
          dataFinal: '2028-09-01'
          dataInicial: '2024-02-01'
          periodicidade: MENSAL
        politicaRetentativa: NAO_PERMITE
        loc:
          criacao: '2023-12-19T12:28:05.230Z'
          id: 5100
          location: pix.example.com/qr/v2/rec/2353c790eefb11eaadc10242ac120002
          idRec: RN1234567820240115abcdefghijk
        pagador:
          codMun: '2673833'
          cpf: '75633122216'
          ispbParticipante: '81102623'
        recebedor:
          cnpj: '92221288310574'
          nome: Imobiliária Bom Sucesso
        atualizacao:
          - data: '2024-01-03T08:30:02.050Z'
            nome: CRIADA
          - data: '2024-01-04T09:40:42.210Z'
            nome: APROVADA
        dadosQR:
          jornada: JORNADA_2
          pixCopiaECola: >-
            00020126180014br.gov.bcb.pix5204000053039865802BR5913Fulano de
            Tal6008BRASILIA62070503***80800014br.gov.bcb.pix2558pix.example.com/qr/v2/rec/2353c790eefb11eaadc10242ac120002630462C9
    recResponse4:
      summary: Exemplo de Recorrência Completa Jornada 1
      value:
        idRec: RR7784567820240528123defgh775
        status: CRIADA
        valor:
          valorRec: '250.00'
        vinculo:
          contrato: '9612389'
          devedor:
            cpf: '45832633800'
            nome: Alfredo Tavares
          objeto: Serviços Esportivos
        calendario:
          dataFinal: '2028-09-01'
          dataInicial: '2024-02-01'
          periodicidade: MENSAL
        politicaRetentativa: PERMITE_3R_7D
        pagador:
          codMun: '1509873'
          cpf: '45832633800'
          ispbParticipante: '52780028'
        recebedor:
          cnpj: '56958712500811'
          nome: Academia Saúde
        atualizacao:
          - data: '2024-01-03T08:30:02.050Z'
            nome: CRIADA
    recResponse5:
      summary: Exemplo de Recorrência Completa Jornada 1 com Cancelamento
      value:
        idRec: RR1026652320240821lab77511abf
        status: CANCELADA
        valor:
          valorMinimoRecebedor: '800.00'
        vinculo:
          contrato: '298620560'
          devedor:
            cpf: '12600511100'
            nome: Sebastião Silva
          objeto: Faculdade de Engenharia
        calendario:
          dataFinal: '2027-09-01'
          dataInicial: '2024-10-01'
          periodicidade: MENSAL
        politicaRetentativa: PERMITE_3R_7D
        pagador:
          codMun: '1509873'
          cpf: '12600511100'
          ispbParticipante: '52780028'
        recebedor:
          cnpj: '61593007802371'
          nome: Universidade Brasileira
        encerramento:
          cancelamento:
            solicitante: USUARIO_RECEBEDOR
            codigo: SLCR
            descricao: Cancelamento solicitado pelo usuário recebedor
        atualizacao:
          - data: '2024-08-03T08:30:02.050Z'
            nome: CRIADA
          - data: '2024-09-06T09:11:42.205Z'
            nome: APROVADA
          - data: '2024-10-06T15:05:33.305Z'
            nome: CANCELADA
        ativacao:
          tipoJornada: JORNADA_1
    recResponse6:
      summary: Exemplo de Recorrência Completa com Dados QR Jornada 3
      value:
        idRec: RN1234567820241203fghijkabcde
        status: CRIADA
        valor:
          valorRec: '150.00'
        vinculo:
          contrato: '5582610'
          devedor:
            cpf: '45164632481'
            nome: Fulano de Tal
          objeto: Serviços de Gestão de Imóveis
        calendario:
          dataFinal: '2028-09-01'
          dataInicial: '2025-02-01'
          periodicidade: MENSAL
        politicaRetentativa: NAO_PERMITE
        loc:
          criacao: '2024-10-01T10:15:01.115Z'
          id: 2726
          location: pix.example.com/qr/v2/rec/94ed2badcbc04c15b0bb7fa353194890
          idRec: RN1234567820241203fghijkabcde
        recebedor:
          cnpj: '12345678000195'
          nome: Empresa de Serviços SA
        atualizacao:
          - data: '2024-12-03T08:30:02.050Z'
            nome: CRIADA
        dadosQR:
          jornada: JORNADA_3
          pixCopiaECola: >-
            00020101021226760014br.gov.bcb.pix2554pix.example.com/qr/v2/8b3da2f39a4140d1a91abd93113bd4415204000053039865802BR5913Fulano
            de
            Tal6008BRASILIA62070503***80800014br.gov.bcb.pix2558pix.example.com/qr/v2/rec/94ed2badcbc04c15b0bb7fa35319489063047741
    recResponse7:
      summary: Exemplo de Recorrência Completa com Dados QR Jornada 4
      value:
        idRec: RN1234567820241130lkwdefghijk
        status: CRIADA
        valor:
          valorRec: '210.00'
        vinculo:
          contrato: '11750023'
          devedor:
            cpf: '75633122216'
            nome: Francisco da Silva
          objeto: Assinatura de Serviços de Transporte
        calendario:
          dataFinal: '2026-12-01'
          dataInicial: '2025-03-01'
          periodicidade: MENSAL
        politicaRetentativa: NAO_PERMITE
        loc:
          criacao: '2024-05-19T10:28:05.230Z'
          id: 6153
          location: pix.example.com/qr/v2/rec/3ffa640fa4f14080adccb949fa2dc0d0
          idRec: RN1234567820241130lkwdefghijk
        recebedor:
          cnpj: '56989000019533'
          nome: Empresa de Logística SA
        atualizacao:
          - data: '2024-11-30T08:30:02.050Z'
            nome: CRIADA
        dadosQR:
          jornada: JORNADA_4
          pixCopiaECola: >-
            00020101021226810014br.gov.bcb.pix2559pix.example.com/qr/v2/cobv/1e6c54d3ec9449b7a7fc53b6b0f998e75204000053039865802BR5913Fulano
            de
            Tal6008BRASILIA62070503***80800014br.gov.bcb.pix2558pix.example.com/qr/v2/rec/3ffa640fa4f14080adccb949fa2dc0d06304A441
    recResponse8:
      summary: Exemplo de Recorrência Completa Jornada 1 com Convênio
      value:
        idRec: RR3781267820250201123deabc339
        status: CRIADA
        valor:
          valorRec: '170.00'
        vinculo:
          contrato: '1793651'
          devedor:
            cpf: '01536985566'
            nome: Fulano de Tal
          objeto: Serviços de Telefonia
        calendario:
          dataFinal: '2028-03-01'
          dataInicial: '2025-03-01'
          periodicidade: MENSAL
        politicaRetentativa: NAO_PERMITE
        pagador:
          codMun: '1509873'
          cpf: '45832633800'
          ispbParticipante: '52780028'
        recebedor:
          convenio: Master
          cnpj: '56958712500811'
          nome: Academia Saúde
        atualizacao:
          - data: '2025-02-01T08:30:02.050Z'
            nome: CRIADA
    recWebhookNotification1:
      summary: Exemplo de Notificação de Recorrência 1
      value:
        recs: &ref_0
          - idRec: RR1026652320240821lab77511abf
            status: APROVADA
            atualizacao:
              - status: CRIADA
                data: '2024-08-20T10:12:07.567Z'
              - status: APROVADA
                data: '2024-08-22T12:43:53.337Z'
            ativacao:
              tipoJornada: JORNADA_3
              dadosJornada:
                txid: r9eFIFmwcZ55Nm4RsKZAAtIvvCrlcNN6
    recPayload1:
      summary: Exemplo de payload de recorrência 1
      value:
        idRec: RN123456782024011577825445612
        vinculo:
          contrato: '5582610'
          devedor:
            cpf: '45164632481'
            nome: Fulano de Tal
          objeto: Serviço de Streamming de Música.
        calendario:
          dataFinal: '2025-04-01'
          dataInicial: '2024-04-01'
          periodicidade: MENSAL
        politicaRetentativa: NAO_PERMITE
        valor:
          valorRec: '35.00'
        recebedor:
          cnpj: '28765007802371'
          nome: Startup Musical
          ispbParticipante: '12345678'
        atualizacao:
          - status: CRIADA
            data: '2024-03-20T10:12:07.567Z'
    solicRecBody1:
      summary: Exemplo de criação de solicitação de confirmação de recorrência 1
      value:
        idRec: RN123456782024011577825445612
        calendario:
          dataExpiracaoSolicitacao: '2023-12-20T12:17:11.926Z'
        destinatario:
          agencia: '2569'
          conta: '550689'
          cpf: '15231470190'
          ispbParticipante: '91193552'
    solicRecBody2:
      summary: Exemplo de revisão de solicitação de confirmação de recorrência 1
      value:
        status: CANCELADA
    solicRecResponse1:
      summary: Exemplo de solicitação de confirmação de recorrência 1
      value:
        idSolicRec: SC876456782024021577825445312
        idRec: RN123456782024011577825445612
        calendario:
          dataExpiracaoSolicitacao: '2023-12-20T12:17:11.926Z'
        status: CRIADA
        destinatario:
          agencia: '2569'
          conta: '550689'
          cpf: '15231470190'
          ispbParticipante: '91193552'
        atualizacao:
          - data: '2023-12-20T12:18:18.618Z'
            status: CRIADA
        recPayload:
          idRec: RN123456782024011577825445612
          vinculo:
            contrato: '561238008'
            devedor:
              cpf: '15231470190'
              nome: Fulano de Tal
            objeto: Serviços de Telecomunicações
          calendario:
            dataFinal: '2023-12-01'
            dataInicial: '2024-04-01'
            periodicidade: MENSAL
          recebedor:
            cnpj: '94370926517368'
            nome: Empresa de Serviços SA
          valor:
            valorRec: '1200.09'
          atualizacao:
            - data: '2023-12-15T08:30:07.115Z'
              status: CRIADA
    solicRecResponse2:
      summary: Exemplo de solicitação de confirmação de recorrência 2
      value:
        idSolicRec: SC875116782024021577820565312
        idRec: RR692350012024051502650081069
        calendario:
          dataExpiracaoSolicitacao: '2024-12-15T12:17:11.926Z'
        status: REJEITADA
        destinatario:
          agencia: '1179'
          conta: '73851'
          cpf: '07031470825'
          ispbParticipante: '91193552'
        atualizacao:
          - data: '2024-12-15T12:18:18.618Z'
            status: CRIADA
          - data: '2024-12-15T16:18:18.618Z'
            status: ENVIADA
          - data: '2024-12-16T08:50:18.268Z'
            status: REJEITADA
        recPayload:
          idRec: RR692350012024051502650081069
          vinculo:
            contrato: Assinatura Individual
            devedor:
              cpf: '07031470825'
              nome: Sebastião Silva
            objeto: Serviços de Entrega de Alimentos
          valor:
            valorMinimoRecebedor: '300.00'
          calendario:
            dataFinal: '2025-05-01'
            dataInicial: '2024-12-01'
            periodicidade: MENSAL
          recebedor:
            cnpj: '25603926517008'
            nome: Empresa de Produtos Alimentícios SA
          atualizacao:
            - data: '2023-12-08T16:24:35.233Z'
              status: CRIADA
    solicRecResponse3:
      summary: Exemplo de solicitação de confirmação de recorrência 1
      value:
        idSolicRec: SC876456782024021577825445312
        idRec: RN123456782024011577825445612
        calendario:
          dataExpiracaoSolicitacao: '2024-06-11T07:17:11.008Z'
        status: CANCELADA
        destinatario:
          agencia: '2569'
          conta: '550689'
          cpf: '15231470190'
          ispbParticipante: '91193552'
        atualizacao:
          - data: '2024-05-16T17:01:06.781Z'
            status: CRIADA
          - data: '2024-05-30T10:18:18.618Z'
            status: CANCELADA
        recPayload:
          idRec: RN123456782024011577825445612
          vinculo:
            contrato: Banda Larga Fibra Ótica
            devedor:
              cpf: '15231470190'
              nome: Fulano de Tal
            objeto: Serviços de Telecomunicações
          valor:
            valorRec: '1200.09'
          calendario:
            dataFinal: '2025-05-01'
            dataInicial: '2024-05-01'
            periodicidade: MENSAL
          recebedor:
            cnpj: '94370926517368'
            nome: Empresa de Serviços SA
          atualizacao:
            - data: '2023-12-08T16:24:35.233Z'
              status: CRIADA
    loteCobVResponse1:
      summary: Exemplo de lote de cobranças com vencimento 1
      value:
        descricao: Cobranças dos alunos do turno vespertino
        criacao: '2020-11-01T20:15:00.358Z'
        cobsv:
          - criacao: '2020-11-01T20:15:00.358Z'
            txid: fb2761260e554ad593c7226beb5cb650
            status: CRIADA
          - txid: 7978c0c97ea847e78e8849634473c1f1
            status: NEGADA
            problema:
              type: https://pix.bcb.gov.br/api/v2/error/CobVOperacaoInvalida
              title: Cobrança inválida.
              status: 400
              detail: >-
                A requisição que busca alterar ou criar uma cobrança com
                vencimento não respeita o _schema_ ou está semanticamente
                errada.
              violacoes:
                - razao: O objeto cobv.devedor não respeita o _schema_.
                  propriedade: cobv.devedor
    loteCobVResponse2:
      summary: Exemplo de lote de cobranças com vencimento 2
      value:
        descricao: Cobranças dos assinantes anuais
        criacao: '2020-11-17T20:00:00.358Z'
        cobsv:
          - criacao: '2020-11-17T20:00:00.358Z'
            txid: 06601eaa3822423fbe897f613b983e01
            status: CRIADA
          - criacao: '2020-11-17T20:00:00.358Z'
            txid: 4e07059760d54cf493de6e7f1fbfad9a
            status: CRIADA
    payloadLocationBody1:
      summary: Exemplo de Payload Location 1
      value:
        tipoCob: cob
    payloadLocationBody2:
      summary: Exemplo de Payload Location 2
      value:
        tipoCob: cobv
    payloadLocationResponse1:
      summary: Exemplo de Payload Location 1
      value:
        id: 7716
        txid: fda9460fe04e4f129b72863ae57ee22f
        location: pix.example.com/qr/v2/cobv/2353c790eefb11eaadc10242ac120002
        tipoCob: cobv
        criacao: '2020-03-11T21:19:51.013Z'
    payloadLocationResponse2:
      summary: Exemplo de Payload Location 2
      value:
        id: 856
        txid: 31e08604f9ce459bb59672332af8d672
        location: pix.example.com/qr/v2/cobv/39c9f435c6324867aa1dec1260e1127c
        tipoCob: cobv
        criacao: '2020-02-10T19:22:52.013Z'
    payloadLocationResponse3:
      summary: Exemplo de Payload Location 3
      value:
        id: 2316
        txid: eb9d87f36fca4c92b7d5ec48e2ee3853
        location: pix.example.com/qr/v2/a8534e273ecb47d3ac30613104544466
        tipoCob: cob
        criacao: '2020-05-31T19:39:54.013Z'
    payloadLocationResponse4:
      summary: Exemplo de Payload Location 3
      value:
        id: 2316
        location: pix.example.com/qr/v2/a8534e273ecb47d3ac30613104544466
        tipoCob: cob
        criacao: '2020-05-31T19:39:54.013Z'
    payloadLocationResponse5:
      summary: Exemplo de Payload Location 1
      value:
        id: 7716
        location: pix.example.com/qr/v2/2353c790eefb11eaadc10242ac120002
        tipoCob: cob
        criacao: '2020-03-11T21:19:51.013Z'
    payloadLocationResponse6:
      summary: Exemplo de Payload Location 2
      value:
        id: 856
        location: pix.example.com/qr/v2/cobv/39c9f435c6324867aa1dec1260e1127c
        tipoCob: cobv
        criacao: '2020-02-10T19:22:52.013Z'
    payloadLocationRecResponse1:
      summary: Exemplo de Payload Location de Recorrência 1
      value:
        id: 12069
        location: pix.example.com/qr/v2/rec/2353c790eefb11eaadc10242ac120002
        criacao: '2023-12-20T12:38:28.774Z'
        idRec: RR123456782024011510056892226
    payloadLocationRecResponse2:
      summary: Exemplo de Payload Location de Recorrência 1
      value:
        id: 12069
        location: pix.example.com/qr/v2/rec/2353c790eefb11eaadc10242ac120002
        criacao: '2023-12-20T12:38:28.774Z'
    pixResponse1:
      summary: Exemplo de Pix 1
      value:
        endToEndId: E12345678202009091221abcdef12345
        txid: cd1fe328c875481285a6f233ae41b662
        valor: '100.00'
        horario: '2020-09-10T13:03:33.902Z'
        infoPagador: Reforma da casa
        devolucoes:
          - id: 000AAA111
            rtrId: D12345678202009091000abcde123456
            valor: '11.00'
            horario:
              solicitacao: '2020-09-10T13:03:33.902Z'
            status: EM_PROCESSAMENTO
    pixResponse2:
      summary: Exemplo de Pix 2
      value:
        endToEndId: E12345678202009091221ghijk78901234
        txid: 5b933948f3224266b1050ac54319e775
        valor: '200.00'
        horario: '2020-09-10T13:03:33.902Z'
        infoPagador: Revisão do carro
    pixResponse3:
      summary: Exemplo de Pix com Saque
      value:
        endToEndId: E88631478202009091221ghijk78901234
        txid: 82433415910c47e5adb6ac3527cca160
        valor: '200.00'
        horario: '2020-09-10T13:03:33.902Z'
        infoPagador: Saque Pix
    webhookBody1:
      summary: Exemplo de configuração de Webhook 1
      value:
        webhookUrl: https://pix.example.com/api/webhook/
    webhookResponse1:
      summary: Exemplo de consulta de Webhook 1
      value:
        webhookUrl: https://pix.example.com/api/webhook/
        chave: 40a0932d-1918-4eee-845d-35a2da1690dc
        criacao: '2020-11-11T10:15:00.358Z'
    recWebhookBody1:
      summary: Exemplo de criação de webhook de recorrência
      value:
        webhookUrl: https://usuario.recebedor.com/api/webhookrec/
    recWebhookResponse1:
      summary: Exemplo de webhook de recorrência
      value:
        webhookUrl: https://usuario.recebedor.com/api/webhookrec/
        criacao: '2023-12-20T12:51:16.485Z'
    cobRWebhookBody1:
      summary: Exemplo de criação de webhook de cobrança recorrente
      value:
        webhookUrl: https://usuario.recebedor.com/api/webhookcobr/
    cobRWebhookResponse1:
      summary: Exemplo de webhook de cobrança recorrente
      value:
        webhookUrl: https://usuario.recebedor.com/api/webhookcobr/
        criacao: '2023-12-20T12:51:16.485Z'
    cobRWebhookNotification1:
      summary: Exemplo de webhook de cobrança recorrente
      value:
        cobsr: &ref_1
          - idRec: RR1234567820240115abcdefghijk
            txid: 3136957d93134f2184b369e8f1c0729d
            status: ATIVA
            atualizacao:
              - status: ATIVA
                data: '2024-08-20T12:34:21.300Z'
            tentativas:
              - dataLiquidacao: '2024-20-08'
                tipo: AGND
                status: SOLICITADA
                endToEndId: E12345678202406201221abcdef12345
    devolucaoResponse1:
      summary: Exemplo de devolução 1
      value:
        id: '123456'
        rtrId: D12345678202009091000abcde123456
        valor: '7.89'
        horario:
          solicitacao: '2020-09-11T15:25:59.411Z'
        status: EM_PROCESSAMENTO
    devolucaoResponse2:
      summary: Exemplo de devolução 2
      value:
        id: '502'
        rtrId: D12345678202011111000fghij789012
        valor: '20.00'
        horario:
          solicitacao: '2020-09-11T15:25:59.411Z'
        status: NAO_REALIZADO
        motivo: Negado por timeout
    devolucaoSolicitada1:
      summary: Exemplo de solicitação de devolução 1
      value:
        valor: '7.89'
    cobPayload1:
      summary: Exemplo de payload de cobrança imediata 1
      value:
        calendario:
          criacao: '2020-09-15T19:39:54.013Z'
          apresentacao: '2020-04-01T18:00:00Z'
          expiracao: 3600
        txid: fc9a4366ff3d4964b5dbc6c91a8722d3
        revisao: 3
        status: ATIVA
        valor:
          original: '500.00'
          modalidadeAlteracao: 0
        chave: 7407c9c8-f78b-11ea-adc1-0242ac120002
        solicitacaoPagador: Informar cartao fidelidade
        infoAdicionais:
          - nome: quantidade
            valor: '2'
    cobPayload2:
      summary: Exemplo de payload de cobrança com vencimento 1
      value:
        calendario:
          criacao: '2020-09-15T19:39:54.013Z'
          apresentacao: '2020-04-01T18:00:00Z'
          dataDeVencimento: '2020-12-31'
          validadeAposVencimento: 30
        devedor:
          cnpj: '56989000019533'
          nome: Empresa de Alimentos SA
        recebedor:
          logradouro: Rua 20 Numero 70, Bairro Luz
          cidade: Belo Horizonte
          uf: MG
          cep: '55120750'
          cnpj: '58900633120711'
          nome: Empresa de Abastecimento SA
        txid: fc9a4366ff3d4964b5dbc6c91a8722d3
        revisao: 3
        status: ATIVA
        valor:
          original: '123.45'
          multa: '15.00'
          juros: '2.00'
          final: '140.45'
        chave: 7407c9c8-f78b-11ea-adc1-0242ac120002
        solicitacaoPagador: Informar cartao fidelidade
        infoAdicionais:
          - nome: quantidade
            valor: '2'
    getCobs1:
      summary: Exemplo de retorno da consulta de cobranças 1
      value:
        parametros:
          inicio: '2020-04-01T00:00:00Z'
          fim: '2020-04-02T10:00:00Z'
          paginacao:
            paginaAtual: 0
            itensPorPagina: 100
            quantidadeDePaginas: 1
            quantidadeTotalDeItens: 2
        cobs:
          - allOf:
              - $ref: '#/components/examples/cobResponse1/value'
          - allOf:
              - $ref: '#/components/examples/cobResponse2/value'
          - allOf:
              - $ref: '#/components/examples/cobResponse5/value'
          - allOf:
              - $ref: '#/components/examples/cobResponse6/value'
          - allOf:
              - $ref: '#/components/examples/cobResponse7/value'
    getCobs2:
      summary: Exemplo de retorno da consulta de cobranças 2
      value:
        parametros:
          inicio: '2020-04-01T00:00:00Z'
          fim: '2020-04-01T23:59:59Z'
          paginacao:
            paginaAtual: 0
            itensPorPagina: 100
            quantidadeDePaginas: 1
            quantidadeTotalDeItens: 1
        cobs:
          - allOf:
              - $ref: '#/components/examples/cobResponse1/value'
    getCobsV1:
      summary: Exemplo de retorno da consulta de cobranças com vencimento 1
      value:
        parametros:
          inicio: '2020-04-01T00:00:00Z'
          fim: '2020-04-01T23:59:59Z'
          paginacao:
            paginaAtual: 0
            itensPorPagina: 100
            quantidadeDePaginas: 1
            quantidadeTotalDeItens: 1
        cobs:
          - allOf:
              - $ref: '#/components/examples/cobResponse4/value'
    getPix1:
      summary: Exemplo de retorno da consulta de Pix 1
      value:
        parametros:
          inicio: '2020-04-01T00:00:00Z'
          fim: '2020-04-01T23:59:59Z'
          paginacao:
            paginaAtual: 0
            itensPorPagina: 100
            quantidadeDePaginas: 1
            quantidadeTotalDeItens: 2
        pix:
          endToEndId: E12345678202009091221abcdef12345
          txid: cd1fe328c875481285a6f233ae41b662
          valor: '100.00'
          horario: '2020-09-10T13:03:33.902Z'
          infoPagador: Reforma da casa
          devolucoes:
            - id: 000AAA111
              rtrId: D12345678202009091000abcde123456
              valor: '11.00'
              horario:
                solicitacao: '2020-09-10T13:03:33.902Z'
              status: EM_PROCESSAMENTO
    getPix2:
      summary: Exemplo de retorno da consulta de Pix 2
      value:
        parametros:
          inicio: '2020-04-01T00:00:00Z'
          fim: '2020-04-01T23:59:59Z'
          paginacao:
            paginaAtual: 0
            itensPorPagina: 100
            quantidadeDePaginas: 1
            quantidadeTotalDeItens: 2
        pix:
          endToEndId: E12345678202009091221ghijk78901234
          txid: 5b933948f3224266b1050ac54319e775
          valor: '200.00'
          horario: '2020-09-10T13:03:33.902Z'
          infoPagador: Revisão do carro
    getPix3:
      summary: Exemplo de retorno da consulta de Pix 3
      value:
        parametros:
          inicio: '2020-04-01T00:00:00Z'
          fim: '2020-04-01T23:59:59Z'
          paginacao:
            paginaAtual: 0
            itensPorPagina: 100
            quantidadeDePaginas: 1
            quantidadeTotalDeItens: 2
        pix:
          endToEndId: E88631478202009091221ghijk78901234
          txid: 82433415910c47e5adb6ac3527cca160
          valor: '200.00'
          horario: '2020-09-10T13:03:33.902Z'
          infoPagador: Saque Pix
    getLotesCobsV:
      summary: Exemplo de retorno da consulta de Pix 1
      value:
        parametros:
          inicio: '2020-01-01T00:00:00Z'
          fim: '2020-12-01T23:59:59Z'
          paginacao:
            paginaAtual: 0
            itensPorPagina: 100
            quantidadeDePaginas: 1
            quantidadeTotalDeItens: 2
        lotes:
          - allOf:
              - $ref: '#/components/examples/loteCobVResponse1/value'
          - allOf:
              - $ref: '#/components/examples/loteCobVResponse2/value'
    getPayloadLocation1:
      summary: Exemplo de retorno da consulta de locations 1
      value:
        parametros:
          inicio: '2020-04-01T00:00:00Z'
          fim: '2020-04-01T23:59:59Z'
          paginacao:
            paginaAtual: 0
            itensPorPagina: 100
            quantidadeDePaginas: 1
            quantidadeTotalDeItens: 3
        loc:
          - allOf:
              - $ref: '#/components/examples/payloadLocationResponse1/value'
          - allOf:
              - $ref: '#/components/examples/payloadLocationResponse2/value'
          - allOf:
              - $ref: '#/components/examples/payloadLocationResponse3/value'
    getPayloadLocationRec1:
      summary: Exemplo de retorno da consulta de locations de recorrência 1
      value:
        parametros:
          inicio: '2023-12-01T00:00:00Z'
          fim: '2024-04-01T23:59:59Z'
          paginacao:
            paginaAtual: 0
            itensPorPagina: 100
            quantidadeDePaginas: 1
            quantidadeTotalDeItens: 1
        loc:
          - id: 12069
            location: pix.example.com/qr/v2/rec/2353c790eefb11eaadc10242ac120002
            criacao: '2023-12-20T12:38:28.774Z'
            idRec: RR123456782024011510056892226
    getWebhook1:
      summary: Exemplo de retorno da consulta de Webhooks 1
      value:
        parametros:
          inicio: '2020-04-01T00:00:00Z'
          fim: '2020-04-01T23:59:59Z'
          paginacao:
            paginaAtual: 0
            itensPorPagina: 100
            quantidadeDePaginas: 1
            quantidadeTotalDeItens: 1
        webhooks:
          - allOf:
              - $ref: '#/components/examples/webhookResponse1/value'
    getWebhookRec1:
      summary: Exemplo de retorno da consulta de Webhooks 1
      value:
        parametros:
          inicio: '2023-10-01T00:00:00Z'
          fim: '2024-04-01T23:59:59Z'
          paginacao:
            paginaAtual: 0
            itensPorPagina: 100
            quantidadeDePaginas: 1
            quantidadeTotalDeItens: 1
        webhooks:
          - webhookUrl: https://usuario.recebedor.com/api/webhookrec/
            criacao: '2023-12-20T12:51:16.485Z'
    getRec1:
      summary: Exemplo de retorno da consulta de recorrências 1
      value:
        parametros:
          inicio: '2024-04-01T00:00:00Z'
          fim: '2024-04-01T23:59:59Z'
          paginacao:
            paginaAtual: 0
            itensPorPagina: 100
            quantidadeDePaginas: 1
            quantidadeTotalDeItens: 1
        recs:
          - idRec: RN1234567820240115abcdefghijk
            status: APROVADA
            valor:
              valorRec: '300.00'
            vinculo:
              contrato: '98625023'
              devedor:
                cpf: '87734514122'
                nome: Fulano de Tal
              objeto: Serviços de Gestão de Imóveis
            calendario:
              dataFinal: '2028-09-01'
              dataInicial: '2024-02-01'
              periodicidade: MENSAL
            politicaRetentativa: NAO_PERMITE
            loc:
              criacao: '2023-12-19T12:28:05.230Z'
              id: 5100
              location: pix.example.com/qr/v2/rec/2353c790eefb11eaadc10242ac120002
              idRec: RN1234567820240115abcdefghijk
            pagador:
              codMun: '2673833'
              cpf: '75633122216'
              ispbParticipante: '81102623'
            recebedor:
              cnpj: '92221288310574'
              nome: Imobiliária Bom Sucesso
            atualizacao:
              - data: '2024-01-03T08:30:02.050Z'
                nome: CRIADA
              - data: '2024-01-04T09:40:42.210Z'
                nome: APROVADA
    getCobR1:
      summary: Exemplo de retorno da consulta de cobranças recorrentes 1
      value:
        parametros:
          inicio: '2024-04-01T00:00:00Z'
          fim: '2024-12-01T23:59:59Z'
          paginacao:
            paginaAtual: 0
            itensPorPagina: 100
            quantidadeDePaginas: 1
            quantidadeTotalDeItens: 1
        cobsr:
          - idRec: RR123456782024061999000566354
            txid: 7f733863543b4a16b516d839bd4bc34e
            calendario:
              criacao: '2024-05-20'
              dataDeVencimento: '2024-06-20'
            valor:
              original: '50.33'
            status: ATIVA
            ajusteDiaUtil: false
            politicaRetentativa: PERMITE_3R_7D
            devedor:
              cep: 63259-740
              cidade: Campinas
              email: beltrano.silva@mail.com
              logradouro: Rua Gonçalves Dias 605
              uf: SP
            recebedor:
              conta: '997182'
              tipoConta: CORRENTE
            tentativas:
              - dataLiquidacao: '2024-06-20'
                tipo: AGND
                status: AGENDADA
                endToEndId: E12345678202406201221abcdef12345
                atualizacao:
                  - data: '2024-05-21T10:40:16.730Z'
                    status: SOLICITADA
                  - data: '2024-05-21T17:08:00.520Z'
                    status: AGENDADA
            atualizacao:
              - data: '2024-05-20T14:47:29.470Z'
                status: CRIADA
              - data: '2024-05-21T10:18:20.120Z'
                status: ATIVA
    NaoAutorizadoExample1:
      summary: Exemplo de erro de autorização 1
      value:
        type: https://pix.bcb.gov.br/api/v2/error/NaoAutorizado
        title: Não autorizado.
        status: 401
        detail: Credenciais inválidas.
    RequisicaoInvalidaCobExample1:
      summary: Exemplo de erro da requisição 1
      value:
        type: https://pix.bcb.gov.br/api/v2/error/CobOperacaoInvalida
        title: Cobrança inválida.
        status: 400
        detail: >-
          A requisição que busca alterar ou criar uma cobrança para pagamento
          imediato não respeita o _schema_ ou está semanticamente errada.
        violacoes:
          - razao: O campo cob.valor.original não respeita o _schema_.
            propriedade: cob.valor.original
    OperacaoInvalidaCobExample1:
      summary: Exemplo de erro da requisição 1
      value:
        type: https://pix.bcb.gov.br/api/v2/error/CobOperacaoInvalida
        title: Operação inválida.
        status: 400
        detail: >-
          A requisição que busca alterar ou criar uma cobrança para pagamento
          imediato não respeita o _schema_ ou está semanticamente errada.
    RequisicaoInvalidaCobVExample1:
      summary: Exemplo de erro da requisição 1
      value:
        type: https://pix.bcb.gov.br/api/v2/error/CobVOperacaoInvalida
        title: Cobrança inválida.
        status: 400
        detail: >-
          A requisição que busca alterar ou criar uma cobrança com vencimento
          não respeita o _schema_ ou está semanticamente errada.
        violacoes:
          - razao: O objeto cobv.devedor não respeita o _schema_.
            propriedade: cobv.devedor
    OperacaoInvalidaCobVExample1:
      summary: Exemplo de erro da requisição 1
      value:
        type: https://pix.bcb.gov.br/api/v2/error/CobVOperacaoInvalida
        title: Operação inválida.
        status: 400
        detail: >-
          Cobrança não encontra-se mais com o status ATIVA, somente cobranças
          ativas podem ser revisadas.
    OperacaoInvalidaCobRExample1:
      summary: Exemplo de erro da requisição 1
      value:
        type: https://pix.bcb.gov.br/api/v2/error/CobROperacaoInvalida
        title: Operação inválida.
        status: 400
        detail: A cobrança não respeita o schema.
        violacoes:
          - razao: O objeto cobr.calendario não respeita o schema.
            propriedade: cobr.calendario
    OperacaoInvalidaCobRExample2:
      summary: Exemplo de erro da requisição 1
      value:
        type: https://pix.bcb.gov.br/api/v2/error/CobROperacaoInvalida
        title: Operação inválida.
        status: 400
        detail: >-
          Não é possível cancelar uma cobrança em uma data igual ou maior que a
          data prevista da primeira tentativa de liquidação.
    OperacaoInvalidaRecExample1:
      summary: Exemplo de erro da requisição 1
      value:
        type: https://pix.bcb.gov.br/api/v2/error/RecOperacaoInvalida
        title: Operação inválida.
        status: 400
        detail: A recorrência não respeita o schema.
        violacoes:
          - razao: O campo rec.calendario.dataInicial não respeita o schema.
            propriedade: rec.calendario.dataInicial
    OperacaoInvalidaSolicRecExample1:
      summary: Exemplo de erro da requisição 1
      value:
        type: https://pix.bcb.gov.br/api/v2/error/SolicRecOperacaoInvalida
        title: Operação inválida.
        status: 400
        detail: A solicitação de confirmação de recorrência não respeita o schema.
        violacoes:
          - razao: O objeto solicrec.destinatario não respeita o schema.
            propriedade: solicrec.destinatario
    OperacaoInvalidaSolicRecExample2:
      summary: Exemplo de erro da requisição 1
      value:
        type: https://pix.bcb.gov.br/api/v2/error/SolicRecOperacaoInvalida
        title: Operação inválida.
        status: 400
        detail: >-
          Não é possível cancelar uma solicitação de recorrência com o status
          diferente de CRIADA ou RECEBIDA.
    RequisicaoInvalidaCobPayloadExample1:
      summary: Exemplo de erro da requisição 1
      value:
        type: https://pix.bcb.gov.br/api/v2/error/CobPayloadNaoEncontrado
        title: Cobrança não encontrada.
        status: 404
        detail: A cobrança em questão não foi encontrada para a location requisitada.
    RequisicaoInvalidaRecPayloadExample1:
      summary: Exemplo de erro da requisição 1
      value:
        type: https://pix.bcb.gov.br/api/v2/error/RecPayloadOperacaoInvalida
        title: Recorrência não encontrada.
        status: 400
        detail: A recorrência em questão encontra-se encerrada.
    RequisicaoInvalidaCobRTentativaExample1:
      summary: Exemplo de erro da requisição 1
      value:
        type: https://pix.bcb.gov.br/api/v2/error/CobROperacaoInvalida
        title: Cobrança não encontrada.
        status: 400
        detail: >-
          A política configurada na recorrência não permite retentativa de
          cobrança.
    RequisicaoInvalidaLoteCobVExample1:
      summary: Exemplo de erro da requisição 1
      value:
        type: https://pix.bcb.gov.br/api/v2/error/LoteCobVOperacaoInvalida
        title: Lote de cobranças inválido.
        status: 400
        detail: >-
          A requisição que busca alterar ou criar um lote de cobranças com
          vencimento não respeita o _schema_ ou está semanticamente errada.
        violacoes:
          - razao: O objeto loteCobV.cobsV não respeita o _schema_.
            propriedade: loteCobV.cobsV
          - razao: O campo loteCobV.descricao não respeita o _schema_.
            propriedade: loteCobV.descricao
    RequisicaoInvalidaDevolucaoExample1:
      summary: Exemplo de erro da requisição 1
      value:
        type: https://pix.bcb.gov.br/api/v2/error/PixDevolucaoInvalida
        title: Devolução inválida.
        status: 400
        detail: >-
          A presente requisição de devolução não respeita o _schema_ ou não faz
          sentido semanticamente.
    RequisicaoValidaWebhookExample1:
      summary: Exemplo de retorno da requisição 1
      value:
        webhookUrl: https://pix.example.com/api/webhook/
        chave: 7d9f0335-8dcc-4054-9bf9-0dbd61d36906
        criacao: '2020-09-09T20:15:00.358Z'
    RequisicaoInvalidaWebhookExample1:
      summary: Exemplo de erro da requisição 1
      value:
        type: https://pix.bcb.gov.br/api/v2/error/WebhookOperacaoInvalida
        title: Webhook inválido.
        status: 400
        detail: >-
          A presente requisição busca criar um webhook sem respeitar o _schema_
          ou, ainda, com sentido semanticamente inválido.
    RequisicaoInvalidaLocationExample1:
      summary: Exemplo de erro da requisição 1
      value:
        type: https://pix.bcb.gov.br/api/v2/error/PayloadLocationOperacaoInvalida
        title: PayloadLocation inválido.
        status: 400
        detail: >-
          A presente requisição busca criar uma location sem respeitar o
          _schema_ estabelecido.
    AcessoNegadoExample1:
      summary: Exemplo de erro da requisição 1
      value:
        type: https://pix.bcb.gov.br/api/v2/error/AcessoNegado
        title: Acesso Negado
        status: 403
        detail: >-
          Requisição de participante autenticado que viola alguma regra de
          autorização.
    NaoEncontradoExample1:
      summary: Exemplo de erro da requisição 1
      value:
        type: https://pix.bcb.gov.br/api/v2/error/NaoEncontrado
        title: Não Encontrado
        status: 404
        detail: Entidade não encontrada.
    ServicoIndisponivelExample1:
      summary: Exemplo de erro da requisição 1
      value:
        type: https://pix.bcb.gov.br/api/v2/error/ServicoIndisponivel
        title: Serviço Indisponível
        status: 503
        detail: >-
          Serviço não está disponível no momento. Serviço solicitado pode estar
          em manutenção ou fora da janela de funcionamento.
  requestBodies:
    AuthData:
      required: true
      content:
        application/x-www-form-urlencoded:
          schema:
            required:
              - client_id
              - client_secret
              - grant_type
            properties:
              client_id:
                description: Identificador do cliente
                type: string
              client_secret:
                description: Chave secreta do cliente
                type: string
              grant_type:
                type: string
                description: 'Tipo de concessão, utilizar: `client_credentials`'
                default: client_credentials
              scope:
                description: Scopos de autorização
                type: string
    CobBody:
      description: Dados para geração da cobrança imediata.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CobSolicitada'
          examples:
            exemplo1:
              $ref: '#/components/examples/cobBody2'
            exemplo2:
              $ref: '#/components/examples/cobBody6'
            exemplo3:
              $ref: '#/components/examples/cobBody8'
            exemplo4:
              $ref: '#/components/examples/cobBody9'
    CobRBody:
      description: Dados para geração da cobrança recorrente.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CobRSolicitada'
          examples:
            exemplo1:
              $ref: '#/components/examples/cobRBody1'
    CobVBody:
      description: Dados para geração da cobrança com vencimento.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CobVSolicitada'
          examples:
            exemplo1:
              $ref: '#/components/examples/cobBody1'
    LoteCobVBody:
      description: Dados para geração de lote de cobranças com vencimento.
      required: true
      content:
        application/json:
          schema:
            required:
              - descricao
              - cobsv
            properties:
              descricao:
                type: string
                title: Descrição do lote
              cobsv:
                type: array
                items:
                  allOf:
                    - type: object
                      required:
                        - txid
                      properties:
                        txid:
                          $ref: '#/components/schemas/TxId'
                    - $ref: '#/components/schemas/CobVSolicitada'
          examples:
            exemplo1:
              $ref: '#/components/examples/loteCobVBody1'
    LoteCobVBodyRevisado:
      description: Dados para geração de lote de cobranças com vencimento.
      required: true
      content:
        application/json:
          schema:
            properties:
              descricao:
                type: string
                title: Descrição do lote
              cobsv:
                type: array
                items:
                  allOf:
                    - type: object
                      required:
                        - txid
                      properties:
                        txid:
                          $ref: '#/components/schemas/TxId'
                    - $ref: '#/components/schemas/CobVRevisada'
          examples:
            exemplo1:
              $ref: '#/components/examples/loteCobVBodyRevisado1'
    CobBodyRevisada:
      description: Dados para geração da cobrança.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CobRevisada'
          examples:
            exemplo1:
              $ref: '#/components/examples/cobBody3'
            exemplo2:
              $ref: '#/components/examples/cobBody4'
            exemplo3:
              $ref: '#/components/examples/cobBody5'
    CobRBodyRevisada:
      description: Dados para geração da cobrança.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CobRRevisada'
          examples:
            exemplo1:
              $ref: '#/components/examples/cobRBody2'
    CobVBodyRevisada:
      description: Dados para geração da cobrança.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CobVRevisada'
          examples:
            exemplo1:
              $ref: '#/components/examples/cobBody7'
            exemplo2:
              $ref: '#/components/examples/cobBody4'
            exemplo3:
              $ref: '#/components/examples/cobBody5'
    PayloadLocationBody:
      description: Dados para geração da location.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PayloadLocationSolicitada'
          examples:
            exemplo1:
              $ref: '#/components/examples/payloadLocationBody1'
    PayloadLocationRecBody:
      description: Dados para geração da location.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PayloadLocationRecSolicitada'
    DevolucaoBody:
      description: Dados para pedido de devolução.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DevolucaoSolicitada'
          examples:
            exemplo1:
              $ref: '#/components/examples/devolucaoSolicitada1'
    WebhookConfigBody:
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/WebhookSolicitado'
          examples:
            exemplo1:
              $ref: '#/components/examples/webhookBody1'
    WebhookRecConfigBody:
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/WebhookRecSolicitado'
          examples:
            exemplo1:
              $ref: '#/components/examples/recWebhookBody1'
    WebhookCobRConfigBody:
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/WebhookCobRSolicitado'
          examples:
            exemplo1:
              $ref: '#/components/examples/cobRWebhookBody1'
    SolicRecBody:
      description: Dados para geração da solicitação da recorrência.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SolicRecSolicitada'
          examples:
            exemplo1:
              $ref: '#/components/examples/solicRecBody1'
    SolicRecBodyRevisada:
      description: Dados para revisão da solicitação da recorrência.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SolicRecRevisada'
          examples:
            exemplo1:
              $ref: '#/components/examples/solicRecBody2'
    RecBody:
      description: Dados para geração da recorrência.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RecSolicitada'
          examples:
            exemplo1:
              $ref: '#/components/examples/recBody1'
            exemplo2:
              $ref: '#/components/examples/recBody2'
    RecBodyRevisada:
      description: Dados para revisão da recorrência.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RecRevisada'
          examples:
            retorno1:
              $ref: '#/components/examples/recBody3'
    WebhookPixBody:
      description: Dados para notificação dos Pix.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Pix'
          examples:
            exemplo1:
              summary: Exemplo de Webhook Pix
              value:
                txid: 971122d8f37211eaadc10242ac120002
                valor: '110.00'
                horario: '2020-09-09T20:15:00.358Z'
                pagador:
                  cpf: '0123456789'
                  nome: Nome Pagador
                endToEndId: E12345678202009091221abcdef12345
            exemplo2:
              summary: Exemplo de Devolução Webhook Pix
              value:
                txid: c3e0e7a4e7f1469a9f782d3d4999343c
                valor: '110.00'
                horario: '2020-09-09T20:15:00.358Z'
                pagador:
                  cpf: '0123456789'
                  nome: Nome Pagador
                devolucoes:
                  id: 123ABC
                  rtrId: D12345678202009091221abcdf098765
                  valor: '10.00'
                  status: DEVOLVIDO
                  horario:
                    liquidacao: '2020-09-09T20:15:00.358Z'
                    solicitacao: '2020-09-09T20:15:00.358Z'
                  natureza: ORIGINAL
                endToEndId: E12345678202009091221abcdef12345
                pix:
                  txid: c3e0e7a4e7f1469a9f782d3d4999343c
                  valor: '110.00'
                  horario: '2020-09-09T20:15:00.358Z'
                  pagador:
                    cpf: '0123456789'
                    nome: Nome Pagador
                  devolucoes:
                    id: 123ABC
                    rtrId: D12345678202009091221abcdf098765
                    valor: '10.00'
                    status: DEVOLVIDO
                    horario:
                      liquidacao: '2020-09-09T20:15:00.358Z'
                      solicitacao: '2020-09-09T20:15:00.358Z'
                    natureza: ORIGINAL
                  endToEndId: E12345678202009091221abcdef12345
    WebhookRecBody:
      description: Dados para notificação.
      required: true
      content:
        application/json:
          schema:
            properties:
              recs:
                type: array
                items:
                  $ref: '#/components/schemas/RecNotification'
          example:
            recs: *ref_0
    WebhookCobRBody:
      description: Dados para notificação.
      required: true
      content:
        application/json:
          schema:
            properties:
              cobsr:
                type: array
                items:
                  $ref: '#/components/schemas/CobRNotification'
          example:
            cobsr: *ref_1
  schemas:
    TxId:
      type: string
      title: Id da Transação
      description: >
        # Identificador da transação


        O campo `txid` determina o identificador da transação.

        O objetivo desse campo é ser um elemento que possibilite ao PSP do
        recebedor apresentar ao usuário recebedor a funcionalidade de
        conciliação de pagamentos.


        Na pacs.008, é referenciado como `TransactionIdentification <txId>` ou
        `idConciliacaoRecebedor`.


        Em termos de fluxo de funcionamento, o txid é lido pelo aplicativo do
        PSP do pagador e, 

        depois de confirmado o pagamento, é enviado para o SPI via pacs.008. 

        Uma pacs.008 também é enviada ao PSP do recebedor, contendo, além de
        todas as informações usuais 

        do pagamento, o txid.

        Ao perceber um recebimento dotado de txid, o PSP do recebedor está apto
        a se comunicar com o usuário recebedor, 

        informando que um pagamento específico foi liquidado.


        O txid é criado exclusivamente pelo usuário recebedor e está sob sua
        responsabilidade.

        O txid, no contexto de representação de uma cobrança, é único por
        CPF/CNPJ do usuário recebedor. Cabe ao 

        PSP recebedor validar essa regra na API Pix.
      pattern: '[a-zA-Z0-9]{26,35}'
    EndToEndId:
      type: string
      title: Id fim a fim da transação
      description: EndToEndIdentification que transita na PACS002, PACS004 e PACS008
      pattern: '[a-zA-Z0-9]{32}'
      minLength: 32
      maxLength: 32
    DevolucaoId:
      type: string
      title: Id da Devolução
      description: Id gerado pelo cliente para representar unicamente uma devolução.
      pattern: '[a-zA-Z0-9]{1,35}'
    DevolucaoSolicitadaNatureza:
      type: string
      title: Natureza da Devolução Solicitada
      description: >
        Indica qual é a natureza da devolução solicitada. Uma solicitação de
        devolução pelo usuário recebedor pode ser relacionada a um Pix
         comum (com código: `MD06` da pacs.004), ou a um Pix de Saque ou Troco (com códigos possíveis: `MD06` e `SL02` da pacs.004). Na ausência 
         deste campo a natureza deve ser interpretada como sendo de um Pix comum (`ORIGINAL`).

        As naturezas são assim definidas:

        - `ORIGINAL`: quando a devolução é solicitada pelo usuário recebedor e
        se refere a um Pix comum ou ao valor da compra em um Pix Troco (`MD06`);

        - `RETIRADA`: quando a devolução é solicitada pelo usuário recebedor e
        se refere a um Pix Saque ou ao valor do troco em um Pix Troco (`SL02`).


        Os valores de devoluções são sempre limitados aos valores máximos a
        seguir:

        - Pix comum: o valor da devolução é limitado ao valor do próprio Pix (a
        natureza nesse caso deve ser: ORIGINAL);

        - Pix Saque: o valor da devolução é limitado ao valor da retirada (a
        natureza nesse caso deve ser: RETIRADA); e

        - Pix Troco: o valor da devolução é limitado ao valor relativo à compra
        ou ao troco:
          - Quando a devolução for referente à compra, o valor limita-se ao valor da compra (a natureza nesse caso deve ser ORIGINAL); e
          - Quando a devolução for referente ao troco, o valor limita-se ao valor do troco (a natureza nesse caso deve ser RETIRADA).
      enum:
        - ORIGINAL
        - RETIRADA
    DevolucaoNatureza:
      type: string
      title: Natureza da Devolução
      description: >
        Indica qual é a natureza da devolução. Uma devolução pode ser
        relacionada a um Pix comum (com códigos possíveis: `MD06`, `BE08` e
        `FR01` da pacs.004), 

        ou a um Pix de Saque ou Troco (com códigos possíveis:  `MD06` e `SL02`
        da pacs.004). Na ausência deste campo a natureza deve ser interpretada
        como 

        sendo de um Pix comum (`ORIGINAL`).


        As naturezas são assim definidas:
          - `ORIGINAL`: quando a devolução é solicitada pelo usuário recebedor e se refere a um Pix comum ou ao valor da compra em um Pix Troco (`MD06`);
          - `RETIRADA`: quando a devolução é solicitada pelo usuário recebedor e se refere a um Pix Saque ou ao valor do troco em um Pix Troco (`SL02`);
          - `MED_OPERACIONAL`: quando a devolução ocorre no âmbito do MED por motivo de falha operacional e se refere a um Pix comum (`BE08`);
          - `MED_FRAUDE`: quando a devolução ocorre no âmbito do MED por fundada suspeita de fraude e se refere a um Pix comum (`FR01`).
          - `MED_PIX_AUTOMATICO`: reembolso total ou parcial ao participante do usuário pagador no âmbito do MED (Mecanismo Especial de Devolução) para o Pix Automático pela utilização de recursos próprios para ressarcimento do usuário pagador.(`REFU`);          

        Os valores de devoluções são sempre limitados aos valores máximos a
        seguir:

        - Pix comum: o valor da devolução é limitado ao valor do próprio Pix (a
        natureza nesse caso pode ser: ORIGINAL, MED_OPERACIONAL ou MED_FRAUDE);

        - Pix Saque: o valor da devolução é limitado ao valor da retirada (a
        natureza nesse caso deve ser: RETIRADA); e

        - Pix Troco: o valor da devolução é limitado ao valor relativo à compra
        ou ao troco:
          - Quando a devolução for referente à compra, o valor limita-se ao valor da compra (a natureza nesse caso deve ser ORIGINAL); e
          - Quando a devolução for referente ao troco, o valor limita-se ao valor do troco (a natureza nesse caso deve ser RETIRADA).
      enum:
        - ORIGINAL
        - RETIRADA
        - MED_OPERACIONAL
        - MED_FRAUDE
        - MED_PIX_AUTOMATICO
    DevolucaoNaturezaPixAutomatico:
      type: string
      title: Natureza da Devolução
      description: >
        Indica qual é a natureza da devolução. Uma devolução pode ser
        relacionada a um Pix comum (com códigos possíveis: `MD06` e `FR01` da
        pacs.004 e `REFU` da pacs.008). Na ausência deste campo a natureza deve
        ser interpretada como 

        sendo de um Pix comum (`ORIGINAL`).


        As naturezas são assim definidas:
          - `ORIGINAL`: quando a devolução é solicitada pelo usuário recebedor e se refere a um Pix comum (`MD06`);
          - `MED_FRAUDE`: quando a devolução ocorre no âmbito do MED (Mecanismo Especial de Devolução) por fundada suspeita de fraude e se refere a um Pix comum (`FR01`).
          - `MED_PIX_AUTOMATICO`: reembolso total ou parcial ao participante do usuário pagador no âmbito do MED (Mecanismo Especial de Devolução) para o Pix Automático pela utilização de recursos próprios para ressarcimento do usuário pagador.(`REFU`);

        Os valores de devoluções são sempre limitados aos valores máximos a
        seguir:

        - Pix comum: o valor da devolução é limitado ao valor do próprio Pix (a
        natureza nesse caso pode ser: ORIGINAL, MED_PIX_AUTOMATICO ou
        MED_FRAUDE);
      enum:
        - ORIGINAL
        - MED_PIX_AUTOMATICO
        - MED_FRAUDE
    PayloadLocationId:
      type: integer
      format: int64
      title: Id da location
      description: Identificador da location a ser informada na criação da cobrança .
      readOnly: true
    PayloadLocationRecId:
      type: integer
      format: int64
      title: Id da location
      description: >-
        Identificador da location a ser informada na criação de uma recorrência
        .
    Revisao:
      type: integer
      format: int32
      title: Revisão
      description: >
        # O campo `revisao`


        Denota a revisão da cobrança.  Sempre começa em zero. Sempre varia em
        acréscimos de 1.


        O incremento em uma cobrança deve ocorrer sempre que um objeto da
        cobrança em questão for alterado.

        O campo `loc` é uma exceção a esta regra.


        Se em uma determinada alteração em uma cobrança, o único campo alterado
        for o campo `loc`,

        então esta operação não incrementa a revisão da cobrança.


        O campo `loc` não ocasiona uma alteração na cobrança em si.

        Não é necessário armazenar histórico das alterações do campo `loc` para
        uma determinada cobrança.

        Para os outros campos da cobrança, registra-se histórico.
      readOnly: true
    AuthResponse:
      title: Generated schema for Root
      type: object
      required:
        - access_token
        - expires_in
        - refresh_expires_in
        - token_type
        - not-before-policy
        - scope
      properties:
        access_token:
          description: Token de acesso
          type: string
        expires_in:
          description: Tempo de vida do token em segundos
          type: number
        refresh_expires_in:
          description: Tempo de vida do token de atualização em segundos
          type: number
        token_type:
          description: Tipo de token
          type: string
          example: bearer
        not-before-policy:
          description: Momento em que o token passa a ser válido
          type: number
        scope:
          description: Escopos de autorização
          type: string
    DevedorPessoaFisica:
      type: object
      required:
        - cpf
        - nome
      title: Pessoa Física
      properties:
        cpf:
          type: string
          title: CPF
          pattern: /^\d{11}$/
          description: CPF do usuário.
        nome:
          type: string
          title: Nome
          description: Nome do usuário.
          maxLength: 200
        contas:
          type: array
          title: Contas
          description: Lista de contas associadas ao devedor.
          maximum: 3
          items:
            type: object
            required:
              - numero
              - agencia
              - ispb
            properties:
              numero:
                type: string
                title: Número da conta
                description: Número da conta bancária.
              agencia:
                type: string
                title: Agência
                description: Número da agência bancária.
              ispb:
                type: string
                title: ISPB
                description: Identificador ISPB da instituição financeira.
    DevedorPessoaJuridica:
      type: object
      required:
        - cnpj
        - nome
      title: Pessoa Jurídica
      properties:
        cnpj:
          type: string
          title: CNPJ
          pattern: /^\d{14}$/
          description: CNPJ do usuário.
        nome:
          type: string
          title: Nome
          description: Nome do usuário.
          maxLength: 200
        contas:
          type: array
          title: Contas
          maximum: 3
          description: Lista de contas associadas ao devedor.
          items:
            type: object
            required:
              - numero
              - agencia
              - ispb
            properties:
              numero:
                type: string
                title: Número da conta
                description: Número da conta bancária.
              agencia:
                type: string
                title: Agência
                description: Número da agência bancária.
              ispb:
                type: string
                title: ISPB
                description: Identificador ISPB da instituição financeira.
    PessoaFisica:
      type: object
      required:
        - cpf
        - nome
      title: Pessoa Física
      properties:
        cpf:
          type: string
          title: CPF
          pattern: /^\d{11}$/
          description: CPF do usuário.
        nome:
          type: string
          title: Nome
          description: Nome do usuário.
          maxLength: 200
    PessoaJuridica:
      type: object
      required:
        - cnpj
        - nome
      title: Pessoa Jurídica
      properties:
        cnpj:
          type: string
          title: CNPJ
          pattern: /^\d{14}$/
          description: CNPJ do usuário.
        nome:
          type: string
          title: Nome
          description: Nome do usuário.
          maxLength: 200
    PessoaFisicaRecorrencia:
      type: object
      required:
        - cpf
        - nome
      title: Pessoa Física
      properties:
        cpf:
          type: string
          title: CPF
          pattern: /^\d{11}$/
          description: CPF do usuário.
        nome:
          type: string
          title: Nome
          description: Nome do usuário.
          maxLength: 140
    PessoaJuridicaRecorrencia:
      type: object
      required:
        - cnpj
        - nome
      title: Pessoa Jurídica
      properties:
        cnpj:
          type: string
          title: CNPJ
          pattern: /^\d{14}$/
          description: CNPJ do usuário.
        nome:
          type: string
          title: Nome
          description: Nome do usuário.
          maxLength: 140
    CPF:
      type: object
      required:
        - cpf
      title: Pessoa Física
      properties:
        cpf:
          type: string
          title: CPF
          pattern: /^\d{11}$/
          description: CPF do usuário.
    CNPJ:
      type: object
      required:
        - cnpj
      title: Pessoa Jurídica
      properties:
        cnpj:
          type: string
          title: CNPJ
          pattern: /^\d{14}$/
          description: CNPJ do usuário.
    DadosComplementaresPessoa:
      type: object
      properties:
        logradouro:
          type: string
          title: Logradouro
          description: Logradouro do usuário.
          maxLength: 200
        cidade:
          type: string
          title: Cidade
          description: Cidade do usuário.
          maxLength: 200
        uf:
          type: string
          title: UF
          description: UF do usuário.
          maxLength: 2
        cep:
          type: string
          title: CEP
          description: CEP do usuário.
          maxLength: 8
    DadosDevedor:
      type: object
      properties:
        devedor:
          description: >-
            O objeto devedor organiza as informações sobre o devedor da
            cobrança.
          oneOf:
            - $ref: '#/components/schemas/PessoaFisica'
            - $ref: '#/components/schemas/PessoaJuridica'
          allOf:
            - type: object
              properties:
                email:
                  type: string
                  title: Email
                  description: Email do usuário.
            - $ref: '#/components/schemas/DadosComplementaresPessoa'
    DadosDevedorRecorrencia:
      type: object
      properties:
        devedor:
          description: >-
            O objeto devedor organiza as informações sobre o devedor da
            recorrência.
          allOf:
            - type: object
              properties:
                email:
                  type: string
                  title: Email
                  description: Email do usuário.
            - $ref: '#/components/schemas/DadosComplementaresPessoa'
    DadosRecebedor:
      type: object
      required:
        - logradouro
        - cidade
        - uf
        - cep
      properties:
        recebedor:
          description: >-
            O objeto recebedor organiza as informações sobre o credor da
            cobrança.
          oneOf:
            - $ref: '#/components/schemas/PessoaFisica'
            - type: object
              allOf:
                - $ref: '#/components/schemas/PessoaJuridica'
                - type: object
                  properties:
                    nomeFantasia:
                      type: string
                      title: Nome fantasia
                      description: Nome fantasia.
                      maxLength: 200
          allOf:
            - required:
                - logradouro
                - cidade
                - uf
                - cep
            - $ref: '#/components/schemas/DadosComplementaresPessoa'
    DadosBancarios:
      type: object
      required:
        - conta
        - ispbParticipante
      properties:
        conta:
          type: string
          title: Conta do Usuário Pagador
          description: Número da conta do usuário pagador.
          maxLength: 20
        ispbParticipante:
          type: string
          title: ISPB do usuário pagador.
          description: ISPB do usuário pagador.
          pattern: \d{8}
        agencia:
          type: string
          title: Agência do Usuário Pagador
          description: Número da agência do usuário pagador.
          maxLength: 4
    DadosBancariosRecebedor:
      type: object
      required:
        - conta
        - tipoConta
      properties:
        conta:
          type: string
          description: Número da conta do usuário recebedor.
          maxLength: 20
        tipoConta:
          type: string
          title: Tipo da conta do usuário recebedor
          description: Tipo da conta do usuário recebedor.
          enum:
            - CORRENTE
            - POUPANCA
            - PAGAMENTO
        agencia:
          type: string
          description: Número da agência do usuário recebedor.
          maxLength: 4
    DadosPagadorRec:
      type: object
      title: Dados do Pagador
      required:
        - ispbParticipante
      properties:
        pagador:
          allOf:
            - type: object
              properties:
                ispbParticipante:
                  type: string
                  title: ISPB do PSP pagador.
                  description: ISPB do PSP pagador.
                  pattern: \d{8}
            - type: object
              properties:
                codMun:
                  title: Código do município
                  description: >
                    Código baseado na Tabela de Códigos de Municípios do
                    __[IBGE](https://www.ibge.gov.br/explica/codigos-dos-municipios.php)__
                    que apresenta a lista dos municípios brasileiros associados
                    a um código composto de 7 dígitos, sendo os dois primeiros
                    referentes ao código da Unidade da Federação.
                  type: string
                  pattern: /^\d{7}$/
          oneOf:
            - $ref: '#/components/schemas/CPF'
            - $ref: '#/components/schemas/CNPJ'
    WebhookSolicitado:
      type: object
      required:
        - webhookUrl
      title: Webhook
      properties:
        webhookUrl:
          type: string
          format: uri
          example: https://pix.example.com/api/webhook/
    WebhookCompleto:
      type: object
      required:
        - webhookUrl
        - chave
        - criacao
      title: Webhook
      properties:
        webhookUrl:
          type: string
          format: uri
          example: https://pix.example.com/api/webhook/
        chave:
          type: string
          title: Chave DICT do recebedor
          description: >
            # Formato do campo chave


            * O campo chave determina a chave Pix registrada no DICT que será
            utilizada para a cobrança. Essa chave será lida pelo aplicativo do
            PSP do pagador para consulta ao DICT, que retornará a informação que
            identificará o recebedor da cobrança.

            * Os tipos de chave podem ser: telefone, e-mail, cpf/cnpj ou EVP.

            * O formato das chaves pode ser encontrado na seção "Formatação das
            chaves do DICT no BR Code" do [Manual de Padrões para iniciação do
            Pix](https://www.bcb.gov.br/estabilidadefinanceira/pix).
          maxLength: 77
        criacao:
          type: string
          format: date-time
          title: Data de Criação
          description: Data e hora em que o webhook foi cadastrado. Respeita RFC 3339.
          readOnly: true
    WebhookRecBase:
      type: object
      required:
        - webhookUrl
      title: Webhook Base
      properties:
        webhookUrl:
          type: string
          title: URL Webhook
          format: uri
          example: https://pix.example.com/api/webhookrec/
    WebhookRecCompleto:
      type: object
      required:
        - webhookUrl
      title: Webhook Base
      properties:
        webhookUrl:
          type: string
          title: URL Webhook
          format: uri
          example: https://pix.example.com/api/webhookrec/
        criacao:
          type: string
          format: date-time
          title: Data de Criação
          description: Data e hora em que o webhook foi cadastrado. Respeita RFC 3339.
          readOnly: true
    WebhookCobRCompleto:
      type: object
      required:
        - webhookUrl
      title: Webhook Base
      properties:
        webhookUrl:
          type: string
          title: URL Webhook
          format: uri
          example: https://pix.example.com/api/webhookrec/
        criacao:
          type: string
          format: date-time
          title: Data de Criação
          description: Data e hora em que o webhook foi cadastrado. Respeita RFC 3339.
          readOnly: true
    InfoBaseAgenciaConta:
      type: object
      required:
        - agencia
        - conta
      title: Informações de Agência e Conta
      properties:
        agencia:
          type: string
          title: Agência
          description: Número da agência do usuário.
          maxLength: 4
        conta:
          type: string
          title: Conta Corrente
          description: Número da conta do usuário.
          maxLength: 20
    WebhookRecSolicitado:
      type: object
      title: Webhook Solicitado
      allOf:
        - $ref: '#/components/schemas/WebhookRecBase'
    WebhookCobRSolicitado:
      type: object
      required:
        - webhookUrl
      title: Webhook Base
      properties:
        webhookUrl:
          type: string
          title: URL Webhook
          format: uri
          example: https://pix.example.com/api/webhookrec/
    CobExpiracao:
      type: object
      title: Expiração
      properties:
        expiracao:
          type: integer
          format: int32
          title: Tempo de vida da cobrança, especificado em segundos.
          description: >
            Tempo de vida da cobrança, especificado em segundos a partir da data
            de criação (Calendario.criacao)
          example: '3600'
          default: '86400'
    CobDataDeVencimento:
      type: object
      title: Data de Vencimento
      required:
        - dataDeVencimento
      properties:
        dataDeVencimento:
          type: string
          format: date
          title: Data de vencimento da cobrança
          description: >-
            Trata-se de uma data, no formato `YYYY-MM-DD`, segundo ISO 8601. É a
            data de vencimento da cobrança. A cobrança pode ser honrada até esse
            dia, inclusive, em qualquer horário do dia.
          example: '2020-04-01'
        validadeAposVencimento:
          type: integer
          format: int32
          title: Validade após vencimento
          description: >
            Trata-se da quantidade de dias corridos após
            calendario.dataDeVencimento,

            em que a cobrança poderá ser paga.


            Sempre que a data de vencimento cair em um fim de semana ou em um
            feriado para o usuário pagador,
             ela deve ser automaticamente prorrogada para o primeiro dia útil subsequente. Todos os campos 
             que façam referência a esta data (`validadeAposVencimento`; `desconto`; `juros` e `multa`) devem assumir 
             essa prorrogação, quando for o caso.

            Para ilustrar o funcionamento, seguem alguns exemplos, onde:

            - ``(#)`` representa a data de vencimento;

            - ``(*)`` representa a data ajustada em função de dias não úteis;

            - os ``(<número>)`` correspondem aos dias adicionais de validade
            para o pagamento.


            Exemplo A:


            ```txt

            dataDeVencimento: 2020-10-20, terça-feira.

            validadeAposVencimento: 4


            Tenta-se pagar no dia 2020-10-20, terça: aceito. (#)(*)

            Tenta-se pagar no dia 2020-10-21, quarta: aceito. (1)

            Tenta-se pagar no dia 2020-10-22, quinta: aceito. (2)

            Tenta-se pagar no dia 2020-10-23, sexta: aceito. (3)

            Tenta-se pagar no dia 2020-10-24, sábado: aceito. 

            Tenta-se pagar no dia 2020-10-25, domingo: aceito. (Feriado)

            Tenta-se pagar no dia 2020-10-26, segunda: aceito. (4)

            Tenta-se pagar no dia 2020-10-27, terça: negado.

            ```


            Exemplo B:


            ```txt

            dataDeVencimento: 2020-12-25, sexta-feira, feriado.

            validadeAposVencimento: 0


            Tenta-se pagar no dia 2020-12-25, sexta: aceito. (#)(Feriado)

            Tenta-se pagar no dia 2020-12-26, sábado: aceito.

            Tenta-se pagar no dia 2020-12-27, domingo: aceito.

            Tenta-se pagar no dia 2020-12-28, segunda: aceito. (*)

            Tenta-se pagar no dia 2020-12-29, terça: negado.

            ```


            Exemplo C:


            ```txt

            dataDeVencimento: 2020-12-25, sexta-feira, feriado.

            validadeAposVencimento: 1


            Tenta-se pagar no dia 2020-12-25, sexta: aceito. (#)(Feriado)

            Tenta-se pagar no dia 2020-12-26, sábado: aceito.

            Tenta-se pagar no dia 2020-12-27, domingo: aceito.

            Tenta-se pagar no dia 2020-12-28, segunda: aceito. (*)

            Tenta-se pagar no dia 2020-12-29, terça: aceito. (1)

            Tenta-se pagar no dia 2020-12-30, quarta: negado.

            ```


            Exemplo D:


            ```txt

            dataDeVencimento: 2020-12-25, sexta-feira, feriado.

            validadeAposVencimento: 3


            Tenta-se pagar no dia 2020-12-25, sexta: aceito. (#)(Feriado)

            Tenta-se pagar no dia 2020-12-26, sábado: aceito.

            Tenta-se pagar no dia 2020-12-27, domingo: aceito.

            Tenta-se pagar no dia 2020-12-28, segunda: aceito. (*)

            Tenta-se pagar no dia 2020-12-29, terça: aceito. (1)

            Tenta-se pagar no dia 2020-12-30, quarta: aceito. (2)

            Tenta-se pagar no dia 2020-12-31, quinta: aceito. (3)

            Tenta-se pagar no dia 2021-01-01, sexta: negado.

            ```


            Exemplo E:


            ```txt

            dataDeVencimento: 2020-12-25, sexta-feira, feriado.

            validadeAposVencimento: 4


            Tenta-se pagar no dia 2020-12-25, sexta: aceito. (#)(Feriado)

            Tenta-se pagar no dia 2020-12-26, sábado: aceito.

            Tenta-se pagar no dia 2020-12-27, domingo: aceito.

            Tenta-se pagar no dia 2020-12-28, segunda: aceito. (*)

            Tenta-se pagar no dia 2020-12-29, terça: aceito. (1)

            Tenta-se pagar no dia 2020-12-30, quarta: aceito. (2)

            Tenta-se pagar no dia 2020-12-31, quinta: aceito. (3)

            Tenta-se pagar no dia 2021-01-01, sexta: aceito. (Feriado)

            Tenta-se pagar no dia 2021-01-02, sábado: aceito.

            Tenta-se pagar no dia 2021-01-03, domingo: aceito.

            Tenta-se pagar no dia 2021-01-04, segunda: aceito. (4)

            Tenta-se pagar no dia 2021-01-05, terça: negado. 

            ```


            Exemplo F:


            ```txt

            dataDeVencimento: 2021-08-27, sexta-feira.

            validadeAposVencimento: 5


            Tenta-se pagar no dia 2021-08-27, sexta: aceito. (#)(*)

            Tenta-se pagar no dia 2021-08-28, sábado: aceito. (1)

            Tenta-se pagar no dia 2021-08-29, domingo: aceito. (2)

            Tenta-se pagar no dia 2021-08-30, segunda: aceito. (3)

            Tenta-se pagar no dia 2021-08-31, terça: aceito. (4)

            Tenta-se pagar no dia 2021-09-01, quarta: aceito. (5)

            Tenta-se pagar no dia 2021-09-02, quinta: negado. 

            ```


            Exemplo G:


            ```txt

            dataDeVencimento: 2021-08-28, sábado.

            validadeAposVencimento: 5


            Tenta-se pagar no dia 2021-08-28, sábado: aceito. (#)

            Tenta-se pagar no dia 2021-08-29, domingo: aceito. 

            Tenta-se pagar no dia 2021-08-30, segunda: aceito. (*)

            Tenta-se pagar no dia 2021-08-31, terça: aceito. (1)

            Tenta-se pagar no dia 2021-09-01, quarta: aceito. (2)

            Tenta-se pagar no dia 2021-09-02, quinta: aceito. (3)

            Tenta-se pagar no dia 2021-09-03, sexta: aceito. (4)

            Tenta-se pagar no dia 2021-09-04, sabado: aceito. 

            Tenta-se pagar no dia 2021-09-05, domingo: aceito. 

            Tenta-se pagar no dia 2021-09-06, segunda: aceito. (5) 

            ```
          default: 30
    CobApresentacao:
      type: object
      title: Apresentação
      required:
        - apresentacao
      properties:
        apresentacao:
          type: string
          format: date-time
          title: Timestamp de apresentação do QR Code
          description: >-
            Timestamp que indica o momento em que o payload JSON que representa
            a cobrança foi recuperado. Ou seja, idealmente, é o momento em que o
            usuário realizou a captura do QR Code para verificar os dados de
            pagamento. Respeita o formato definido na RFC 3339.
    CobCriacao:
      type: object
      title: Criação
      required:
        - criacao
      properties:
        criacao:
          type: string
          format: date-time
          title: Data de Criação
          description: >-
            Timestamp que indica o momento em que foi criada a cobrança.
            Respeita o formato definido na RFC 3339.
    CobVValor:
      type: object
      title: Valor da cobrança com vencimento
      description: Valores monetários.
      properties:
        original:
          type: string
          title: Valor
          pattern: \d{1,10}\.\d{2}
          description: Valor original da cobrança.
        multa:
          type: object
          required:
            - modalidade
            - valorPerc
          title: Multa aplicada
          description: Multa aplicada à cobrança
          properties:
            modalidade:
              type: integer
              format: int32
              title: Modalidade da multa
              minimum: 1
              maximum: 2
              description: >
                ##### Modalidade da multa, conforme tabela de domínios.

                <table><tr><th>Descrição</th><th>Domínio</th></tr><tr><td>Valor
                Fixo</td><td>1</td></tr><tr><td>Percentual</td><td>2</td></tr></table>
            valorPerc:
              type: string
              title: Valor da multa absoluta
              description: >-
                Multa do documento em valor absoluto ou percentual, conforme
                "valor.multa.modalidade".
              pattern: \d{1,10}\.\d{2}
        juros:
          type: object
          required:
            - modalidade
            - valorPerc
          title: Juro aplicado
          description: Juro aplicado à cobrança
          properties:
            modalidade:
              type: integer
              format: int32
              minimum: 1
              maximum: 8
              title: Modalidade de juros
              description: >
                ##### Modalidade de juros, conforme tabela de domínios.

                <table><tr><th>Descrição</th><th>Domínio</th></tr><tr><td>Valor
                (dias corridos)</td><td>1</td></tr><tr><td>Percentual ao dia
                (dias corridos)</td><td>2</td></tr><tr><td>Percentual ao mês
                (dias corridos)</td><td>3</td></tr><tr><td>Percentual ao ano
                (dias corridos)</td><td>4</td></tr><tr><td>Valor (dias
                úteis)</td><td>5</td></tr><tr><td>Percentual ao dia (dias
                úteis)</td><td>6</td></tr><tr><td>Percentual ao mês (dias
                úteis)</td><td>7</td></tr><tr><td>Percentual ao ano (dias
                úteis)</td><td>8</td></tr></table>
            valorPerc:
              type: string
              title: Valor
              pattern: \d{1,10}\.\d{2}
        abatimento:
          title: Abatimento aplicado
          required:
            - modalidade
            - valorPerc
          description: Abatimento aplicado à cobrança
          properties:
            modalidade:
              type: integer
              format: int32
              minimum: 1
              maximum: 2
              title: Modalidade de abatimentos
              description: >
                ##### Modalidade de abatimentos, conforme tabela de domínios.

                <table><tr><th>Descrição</th><th>Domínio</th></tr><tr><td>Valor
                Fixo</td><td>1</td></tr><tr><td>Percentual</td><td>2</td></tr></table>
            valorPerc:
              type: string
              title: Abatimentos
              description: >-
                Abatimentos ou outras deduções aplicadas ao documento, em valor
                absoluto ou percentual do valor original do documento.
              pattern: \d{1,10}\.\d{2}
        desconto:
          title: Descontos aplicados
          required:
            - modalidade
          description: Descontos aplicados à cobrança
          allOf:
            - type: object
              properties:
                modalidade:
                  type: integer
                  format: int32
                  minimum: 1
                  maximum: 6
                  title: Modalidade de descontos
                  description: >
                    ##### Modalidade de desconto, conforme tabela de domínios.

                    <table><tr><th>Descrição</th><th>Domínio</th></tr><tr><td>Valor
                    Fixo até a[s] data[s]
                    informada[s]</td><td>1</td></tr><tr><td>Percentual até a
                    data informada</td><td>2</td></tr><tr><td>Valor por
                    antecipação dia corrido</td><td>3</td></tr><tr><td>Valor por
                    antecipação dia útil</td><td>4</td></tr><tr><td>Percentual
                    por antecipação dia
                    corrido</td><td>5</td></tr><tr><td>Percentual por
                    antecipação dia útil</td><td>6</td></tr></table>
          oneOf:
            - type: object
              properties:
                descontoDataFixa:
                  title: Lista de Descontos
                  description: Descontos absolutos aplicados à cobrança.
                  type: array
                  minItems: 1
                  maxItems: 3
                  uniqueItems: true
                  items:
                    required:
                      - data
                      - valorPerc
                    allOf:
                      - properties:
                          data:
                            title: Data limite para o desconto absoluto da cobrança
                            description: >-
                              Descontos por pagamento antecipado, com data fixa.
                              Matriz com até três elementos, sendo que cada
                              elemento é composto por um par "data e valorPerc",
                              para estabelecer descontos percentuais ou
                              absolutos, até aquela data de pagamento. Trata-se
                              de uma data, no formato `YYYY-MM-DD`, segundo ISO
                              8601. A data de desconto obrigatoriamente deverá
                              ser menor ou igual à data de vencimento da
                              cobrança.
                            type: string
                            format: date
                            example: '2020-04-01'
                      - properties:
                          valorPerc:
                            type: string
                            title: Valor do desconto absoluto
                            description: >-
                              Desconto em valor absoluto ou percentual por dia,
                              útil ou corrido, conforme
                              valor.desconto.modalidade
                            pattern: \d{1,10}\.\d{2}
            - type: object
              required:
                - valorPerc
              properties:
                valorPerc:
                  type: string
                  title: Abatimentos
                  description: >-
                    Abatimentos ou outras deduções aplicadas ao documento, em
                    valor absoluto ou percentual do valor original do documento.
                  pattern: \d{1,10}\.\d{2}
    CobValor:
      type: object
      title: Valor da cobrança imediata
      description: valores monetários referentes à cobrança.
      properties:
        original:
          type: string
          title: Valor
          pattern: \d{1,10}\.\d{2}
          description: Valor original da cobrança.
        modalidadeAlteracao:
          type: integer
          format: int32
          minimum: 0
          maximum: 1
          title: Modalidade de alteração
          description: >-
            Trata-se de um campo que determina se o valor final do documento
            pode ser alterado pelo pagador. Na ausência desse campo, assume-se
            que não se pode alterar o valor do documento de cobrança, ou seja,
            assume-se o valor 0. Se o campo estiver presente e com valor 1,
            então está determinado que o valor final da cobrança pode ter seu
            valor alterado pelo pagador.
        retirada:
          description: >
            É uma estrutura opcional relacionada ao conceito de recebimento de
            numerário. Apenas um agrupamento por vez é permitido, quando há
            `saque` não há `troco` e vice-versa. 


            Quando uma cobrança imediata tem uma estrutura de `retirada` ela
            deixa de ser considerada Pix comum e passa à categoria de Pix Saque
            ou Pix Troco. 


            Para que o preenchimento do objeto `retirada` seja considerado
            válido as seguintes regras se aplicam:

            - os campos `modalidadeAgente` e `prestadorDoServicoDeSaque` são de
            **preenchimento obrigatório**;

            - quando o `saque` estiver presente a cobrança deve respeitar as
            seguintes condições:
              - O campo `valor.original` deve ser preenchido com **valor igual a 0.00 (zero)**;
              - O campo `valor.modalidadeAlteracao` deve possuir o valor 0 (zero) explicitamente, ou implicitamente (pelo não preenchimento).
            - quando o `troco` estiver presente a cobrança deve respeitar as
            seguintes condições:
              - O campo `valor.original` deve ser preenchido com **valor maior que 0.00 (zero)**;
              - O campo `valor.modalidadeAlteracao` deve possuir o valor 0 (zero) explicitamente, ou implicitamente (pelo não preenchimento).

            **IMPORTANTE**: Quando usados o `saque` ou `troco` não será
            permitida a alteração do `valor.original` recebido. Na presença de
            `saque` ou `troco` o recebimento do campo
            `valor.modalidadeAlteracao` com valor 1 (um) é considerado erro.


            #### Exemplos válidos:

            Considerando os campos da estrutura `valor` e o predicado 'presente'
            cujo resultado é verdade quando a estrutura apontada é encontrada
            temos: 

            - **uma cobrança com valor fixo** (condições: valor.original > 0 &&
            valor.modalidadeAlteração = 0 && !presente(valor.retirada))
              ```
              ...
              "valor": {
                "original": "10.00"
              },
              ...
              ```
            - **uma cobrança com valor alterável** (condições: valor.original >=
            0.00 && modalidadeAlteração = 1 && !presente(valor.retirada))
              ```
              ...
              "valor": {
                "original": "10.00",
                "modalidadeAlteracao": 1
              },
              ```
            - **saque com valor fixo** (condições: valor.original = 0.00 &&
            valor.modalidadeAlteração = 0 && presente(valor.retirada.saque) &&
            valor.retirada.saque.valor > 0 &&
            valor.retirada.saque.modalidadeAlteracao = 0)
              ```
              ...
              "valor": {
                "original": "0.00",
                "retirada": {
                  "saque": {
                    "valor": "5.00",
                    "modalidadeAgente": "AGPSS",
                    "prestadorDoServicoDeSaque": "12345678"
                  }
                }
              },
              ...
              ```
            - **saque com valor alterável** (condições: valor.original = 0.00 &&
            valor.modalidadeAlteração = 0 && presente(valor.retirada.saque) &&
            valor.retirada.saque.valor >= 0 &&
            valor.retirada.saque.modalidadeAlteracao = 1)
              ```
              ...
              "valor": {
                "original": "0.00",
                "retirada": {
                  "saque": {
                    "valor": "5.00",
                    "modalidadeAlteracao": 1,
                    "modalidadeAgente": "AGPSS",
                    "prestadorDoServicoDeSaque": "12345678"
                  }
                }
              },
              ...
              ```
            - **cobrança com troco fixo** (condições: valor.original > 0.00 &&
            valor.modalidadeAlteração = 0 && presente(valor.retirada.troco) &&
            valor.retirada.troco.valor > 0 &&
            valor.retirada.troco.modalidadeAlteracao = 0)
              ```
              ...
              "valor": {
                "original": "10.00",
                "retirada": {
                  "troco": {
                    "valor": "5.00",
                    "modalidadeAgente": "AGTEC",
                    "prestadorDoServicoDeSaque": "12345678"
                  }
                }
              },
              ...
              ```
            - **cobrança com troco alterável** (condições: valor.original > 0.00
            && valor.modalidadeAlteração = 0 && presente(valor.retirada.troco)
            && valor.retirada.troco.valor >= 0 &&
            valor.retirada.troco.modalidadeAlteracao = 1)
              ```
              ...
                "valor": {
                  "original": "10.00",
                  "retirada": {
                    "troco": {
                      "valor": "0.00",
                      "modalidadeAlteracao": 1,
                      "modalidadeAgente": "AGTEC",
                      "prestadorDoServicoDeSaque": "12345678"
                    }
                  }
                },
              ...
              ```
            #### Exemplos inválidos:

            Abaixo alguns exemplos que **não são válidos**. Convém observar que
            esta listagem não tem pretensão de ser completa, sendo tão somente
            uma referência para alguns erros possíveis.

            - **saque sem `modalidadeAgente` e `prestadorDoServicoDeSaque`** 
              ```
              ...
              "valor": {
                "original": "0.00",
                "retirada": {
                  "saque": {
                    "valor": "5.00"
                  }
                }
              },
              ...
              ```
            - **cobrança com saque e troco juntos** (não pode ter os dois ao
            mesmo tempo)
              ```
              ...
              "valor": {
                "original": "100.00",
                "retirada": {
                  "saque": {
                    "valor": "50.00",
                    "modalidadeAgente": "AGPSS",
                    "prestadorDoServicoDeSaque": "12345678"
                  },
                  "troco": {
                    "valor": "30.00",
                    "modalidadeAgente": "AGTEC",
                    "prestadorDoServicoDeSaque": "12345678"
                  }
                }
              },
              ...
              ```
            - **saque com valor.original maior que 0.00 (zero)** (saque requer
            valor.original = 0.00)
              ```
              ...
              "valor": {
                "original": "10.00",
                "retirada": {
                  "saque": {
                    "valor": "5.00",
                    "modalidadeAgente": "AGPSS",
                    "prestadorDoServicoDeSaque": "12345678"
                  }
                }
              },
              ...
              ```
            - **troco com valor.original igual a 0.00 (zero)** (para haver troco
            tem que haver valor.original > 0.00)
              ```
              ...
              "valor": {
                "original": "0.00",
                "retirada": {
                  "troco": {
                    "valor": "5.00",
                    "modalidadeAgente": "AGTEC",
                    "prestadorDoServicoDeSaque": "12345678"
                  }
                }
              },
              ...
              ```
            - **saque com valor.original alterável** (não se pode alterar o
            valor.original na presença do saque)
              ```
              ...
              "valor": {
                "original": "0.00",
                "modalidadeAlteracao": 1,
                "retirada": {
                  "saque": {
                    "valor": "5.00",
                    "modalidadeAlteracao": 1,
                    "modalidadeAgente": "AGPSS",
                    "prestadorDoServicoDeSaque": "12345678"
                  }
                }
              },
              ...
              ```
            - **troco com valor.original alterável** (não se pode alterar o
            valor.original na presença do troco)
              ```
              ...
              "valor": {
                "original": "0.01",
                "modalidadeAlteracao": 1,
                "retirada": {
                  "troco": {
                    "valor": "5.00",
                    "modalidadeAlteracao": 1,
                    "modalidadeAgente": "AGTOT",
                    "prestadorDoServicoDeSaque": "12345678"
                  }
                }
              },
              ...
              ```
          title: Informações de retirada
          type: object
          oneOf:
            - type: object
              properties:
                saque:
                  type: object
                  title: Saque
                  required:
                    - valor
                    - modalidadeAgente
                    - prestadorDoServicoDeSaque
                  description: Informações relacionadas ao saque
                  properties:
                    valor:
                      type: string
                      title: Valor do saque
                      pattern: \d{1,10}\.\d{2}
                      description: Valor do saque efetuado
                    modalidadeAlteracao:
                      type: integer
                      format: int32
                      minimum: 0
                      maximum: 1
                      default: 0
                      title: Modalidade de alteração do saque
                      description: >-
                        Modalidade de alteração de valor do saque. Quando não
                        preenchido o valor assumido é o 0 (zero).
                    modalidadeAgente:
                      type: string
                      title: Modalidade do Agente
                      description: >
                        ##### Modalidade do Agente

                        <table><tr><th>SIGLA</th><th>Descrição</th></tr><tr><td>AGTEC</td><td>Agente
                        Estabelecimento
                        Comercial</td></tr><tr><td>AGTOT</td><td>Agente Outra
                        Espécie de Pessoa Jurídica ou Correspondente no
                        País</td></tr><tr><td>AGPSS</td><td>Agente Facilitador
                        de Serviço de Saque (<b>ATENÇÃO</b>: no mapeamento para
                        o campo 'modalidadeAgente', da pacs.008, esse valor deve
                        ser substituído por <b>AGFSS</b>)</td></tr></table>
                      enum:
                        - AGTEC
                        - AGTOT
                        - AGPSS
                    prestadorDoServicoDeSaque:
                      type: string
                      title: Facilitador de Serviço de Saque
                      pattern: \d{8}
                      description: ISPB do Facilitador de Serviço de Saque
            - type: object
              properties:
                troco:
                  type: object
                  title: Troco
                  required:
                    - valor
                    - modalidadeAgente
                    - prestadorDoServicoDeSaque
                  description: Informações relacionadas ao troco
                  properties:
                    valor:
                      type: string
                      title: Valor do troco
                      pattern: \d{1,10}\.\d{2}
                      description: Valor do troco efetuado
                    modalidadeAlteracao:
                      type: integer
                      format: int32
                      minimum: 0
                      maximum: 1
                      default: 0
                      title: Modalidade de alteração do troco
                      description: >-
                        Modalidade de alteração de valor do troco. Quando não
                        preenchido o valor assumido é o 0 (zero).
                    modalidadeAgente:
                      type: string
                      title: Modalidade do Agente
                      description: >
                        ##### Modalidade do Agente

                        <table><tr><th>SIGLA</th><th>Descrição</th></tr><tr><td>AGTEC</td><td>Agente
                        Estabelecimento
                        Comercial</td></tr><tr><td>AGTOT</td><td>Agente Outra
                        Espécie de Pessoa Jurídica ou Correspondente no
                        País</td></tr></table>
                      enum:
                        - AGTEC
                        - AGTOT
                    prestadorDoServicoDeSaque:
                      type: string
                      title: Facilitador de Serviço de Saque
                      pattern: \d{8}
                      description: ISPB do Facilitador de Serviço de Saque
    CobPayloadValor:
      type: object
      title: Valor da cobrança imediata retornada pelo payload
      required:
        - original
      description: >-
        Todos os campos que indicam valores monetários obedecem ao pattern
        \d{1,10}\.\d{2}. O separador decimal é o caractere ponto. Não é
        aplicável utilizar separador de milhar. Exemplos de valores aderentes ao
        padrão: “1.00”, “123.99”, “123456789.23
      properties:
        original:
          type: string
          title: Valor
          pattern: \d{1,10}\.\d{2}
          description: Valor original da cobrança.
        modalidadeAlteracao:
          type: integer
          format: int32
          minimum: 0
          maximum: 1
          title: Modalidade de alteração
          description: >-
            Trata-se de um campo que determina se o valor final do documento
            pode ser alterado pelo pagador. Na ausência desse campo, assume-se
            que não se pode alterar o valor do documento de cobrança, ou seja,
            assume-se o valor 0. Se o campo estiver presente e com valor 1,
            então está determinado que o valor final da cobrança pode ter seu
            valor alterado pelo pagador.
        retirada:
          description: >
            É uma estrutura opcional relacionada ao conceito de recebimento de
            numerário. Apenas um agrupamento por vez é permitido, quando há
            `saque` não há `troco` e vice-versa. 


            Quando uma cobrança imediata tem uma estrutura de `retirada` ela
            deixa de ser considerada Pix comum e passa à categoria de Pix Saque
            ou Pix Troco. 


            Para que o preenchimento do objeto `retirada` seja considerado
            válido as seguintes regras se aplicam:

            - os campos `modalidadeAgente` e `prestadorDoServicoDeSaque` são de
            **preenchimento obrigatório**;

            - quando o `saque` estiver presente a cobrança deve respeitar as
            seguintes condições:
              - O campo `valor.original` deve ser preenchido com **valor igual a 0.00 (zero)**;
              - O campo `valor.modalidadeAlteracao` deve possuir o valor 0 (zero) explicitamente, ou implicitamente (pelo não preenchimento).
            - quando o `troco` estiver presente a cobrança deve respeitar as
            seguintes condições:
              - O campo `valor.original` deve ser preenchido com **valor maior que 0.00 (zero)**;
              - O campo `valor.modalidadeAlteracao` deve possuir o valor 0 (zero) explicitamente, ou implicitamente (pelo não preenchimento).

            **IMPORTANTE**: Quando usados o `saque` ou `troco` não será
            permitida a alteração do `valor.original` recebido. Na presença de
            `saque` ou `troco` o recebimento do campo
            `valor.modalidadeAlteracao` com valor 1 (um) é considerado erro.


            #### Exemplos válidos:

            Considerando os campos da estrutura `valor` e o predicado 'presente'
            cujo resultado é verdade quando a estrutura apontada é encontrada
            temos: 

            - **uma cobrança com valor fixo** (condições: valor.original > 0 &&
            valor.modalidadeAlteração = 0 && !presente(valor.retirada))
              ```
              ...
              "valor": {
                "original": "10.00"
              },
              ...
              ```
            - **uma cobrança com valor alterável** (condições: valor.original >=
            0.00 && modalidadeAlteração = 1 && !presente(valor.retirada))
              ```
              ...
              "valor": {
                "original": "10.00",
                "modalidadeAlteracao": 1
              },
              ```
            - **saque com valor fixo** (condições: valor.original = 0.00 &&
            valor.modalidadeAlteração = 0 && presente(valor.retirada.saque) &&
            valor.retirada.saque.valor > 0 &&
            valor.retirada.saque.modalidadeAlteracao = 0)
              ```
              ...
              "valor": {
                "original": "0.00",
                "retirada": {
                  "saque": {
                    "valor": "5.00",
                    "modalidadeAgente": "AGPSS",
                    "prestadorDoServicoDeSaque": "12345678"
                  }
                }
              },
              ...
              ```
            - **saque com valor alterável** (condições: valor.original = 0.00 &&
            valor.modalidadeAlteração = 0 && presente(valor.retirada.saque) &&
            valor.retirada.saque.valor >= 0 &&
            valor.retirada.saque.modalidadeAlteracao = 1)
              ```
              ...
              "valor": {
                "original": "0.00",
                "retirada": {
                  "saque": {
                    "valor": "5.00",
                    "modalidadeAlteracao": 1,
                    "modalidadeAgente": "AGPSS",
                    "prestadorDoServicoDeSaque": "12345678"
                  }
                }
              },
              ...
              ```
            - **cobrança com troco fixo** (condições: valor.original > 0.00 &&
            valor.modalidadeAlteração = 0 && presente(valor.retirada.troco) &&
            valor.retirada.troco.valor > 0 &&
            valor.retirada.troco.modalidadeAlteracao = 0)
              ```
              ...
              "valor": {
                "original": "10.00",
                "retirada": {
                  "troco": {
                    "valor": "5.00",
                    "modalidadeAgente": "AGTEC",
                    "prestadorDoServicoDeSaque": "12345678"
                  }
                }
              },
              ...
              ```
            - **cobrança com troco alterável** (condições: valor.original > 0.00
            && valor.modalidadeAlteração = 0 && presente(valor.retirada.troco)
            && valor.retirada.troco.valor >= 0 &&
            valor.retirada.troco.modalidadeAlteracao = 1)
              ```
              ...
                "valor": {
                  "original": "10.00",
                  "retirada": {
                    "troco": {
                      "valor": "0.00",
                      "modalidadeAlteracao": 1,
                      "modalidadeAgente": "AGTEC",
                      "prestadorDoServicoDeSaque": "12345678"
                    }
                  }
                },
              ...
              ```
            #### Exemplos inválidos:

            Abaixo alguns exemplos que **não são válidos**. Convém observar que
            esta listagem não tem pretensão de ser completa, sendo tão somente
            uma referência para alguns erros possíveis.

            - **saque sem `modalidadeAgente` e `prestadorDoServicoDeSaque`** 
              ```
              ...
              "valor": {
                "original": "0.00",
                "retirada": {
                  "saque": {
                    "valor": "5.00"
                  }
                }
              },
              ...
              ```
            - **cobrança com saque e troco juntos** (não pode ter os dois ao
            mesmo tempo)
              ```
              ...
              "valor": {
                "original": "100.00",
                "retirada": {
                  "saque": {
                    "valor": "50.00",
                    "modalidadeAgente": "AGPSS",
                    "prestadorDoServicoDeSaque": "12345678"
                  },
                  "troco": {
                    "valor": "30.00",
                    "modalidadeAgente": "AGTEC",
                    "prestadorDoServicoDeSaque": "12345678"
                  }
                }
              },
              ...
              ```
            - **saque com valor.original maior que 0.00 (zero)** (saque requer
            valor.original = 0.00)
              ```
              ...
              "valor": {
                "original": "10.00",
                "retirada": {
                  "saque": {
                    "valor": "5.00",
                    "modalidadeAgente": "AGPSS",
                    "prestadorDoServicoDeSaque": "12345678"
                  }
                }
              },
              ...
              ```
            - **troco com valor.original igual a 0.00 (zero)** (para haver troco
            tem que haver valor.original > 0.00)
              ```
              ...
              "valor": {
                "original": "0.00",
                "retirada": {
                  "troco": {
                    "valor": "5.00",
                    "modalidadeAgente": "AGTEC",
                    "prestadorDoServicoDeSaque": "12345678"
                  }
                }
              },
              ...
              ```
            - **saque com valor.original alterável** (não se pode alterar o
            valor.original na presença do saque)
              ```
              ...
              "valor": {
                "original": "0.00",
                "modalidadeAlteracao": 1,
                "retirada": {
                  "saque": {
                    "valor": "5.00",
                    "modalidadeAlteracao": 1,
                    "modalidadeAgente": "AGPSS",
                    "prestadorDoServicoDeSaque": "12345678"
                  }
                }
              },
              ...
              ```
            - **troco com valor.original alterável** (não se pode alterar o
            valor.original na presença do troco)
              ```
              ...
              "valor": {
                "original": "0.01",
                "modalidadeAlteracao": 1,
                "retirada": {
                  "troco": {
                    "valor": "5.00",
                    "modalidadeAlteracao": 1,
                    "modalidadeAgente": "AGTOT",
                    "prestadorDoServicoDeSaque": "12345678"
                  }
                }
              },
              ...
              ```
          title: Informações de retirada
          type: object
          oneOf:
            - type: object
              properties:
                saque:
                  type: object
                  title: Saque
                  required:
                    - valor
                    - modalidadeAgente
                    - prestadorDoServicoDeSaque
                  description: Informações relacionadas ao saque
                  properties:
                    valor:
                      type: string
                      title: Valor do saque
                      pattern: \d{1,10}\.\d{2}
                      description: Valor do saque efetuado
                    modalidadeAlteracao:
                      type: integer
                      format: int32
                      minimum: 0
                      maximum: 1
                      default: 0
                      title: Modalidade de alteração do saque
                      description: >-
                        Modalidade de alteração de valor do saque. Quando não
                        preenchido o valor assumido é o 0 (zero).
                    modalidadeAgente:
                      type: string
                      title: Modalidade do Agente
                      description: >
                        ##### Modalidade do Agente

                        <table><tr><th>SIGLA</th><th>Descrição</th></tr><tr><td>AGTEC</td><td>Agente
                        Estabelecimento
                        Comercial</td></tr><tr><td>AGTOT</td><td>Agente Outra
                        Espécie de Pessoa Jurídica ou Correspondente no
                        País</td></tr><tr><td>AGPSS</td><td>Agente Facilitador
                        de Serviço de Saque (<b>ATENÇÃO</b>: no mapeamento para
                        o campo 'modalidadeAgente', da pacs.008, esse valor deve
                        ser substituído por <b>AGFSS</b>)</td></tr></table>
                      enum:
                        - AGTEC
                        - AGTOT
                        - AGPSS
                    prestadorDoServicoDeSaque:
                      type: string
                      title: Facilitador de Serviço de Saque
                      pattern: \d{8}
                      description: ISPB do Facilitador de Serviço de Saque
            - type: object
              properties:
                troco:
                  type: object
                  title: Troco
                  required:
                    - valor
                    - modalidadeAgente
                    - prestadorDoServicoDeSaque
                  description: Informações relacionadas ao troco
                  properties:
                    valor:
                      type: string
                      title: Valor do troco
                      pattern: \d{1,10}\.\d{2}
                      description: Valor do troco efetuado
                    modalidadeAlteracao:
                      type: integer
                      format: int32
                      minimum: 0
                      maximum: 1
                      default: 0
                      title: Modalidade de alteração do troco
                      description: >-
                        Modalidade de alteração de valor do troco. Quando não
                        preenchido o valor assumido é o 0 (zero).
                    modalidadeAgente:
                      type: string
                      title: Modalidade do Agente
                      description: >
                        ##### Modalidade do Agente

                        <table><tr><th>SIGLA</th><th>Descrição</th></tr><tr><td>AGTEC</td><td>Agente
                        Estabelecimento
                        Comercial</td></tr><tr><td>AGTOT</td><td>Agente Outra
                        Espécie de Pessoa Jurídica ou Correspondente no
                        País</td></tr></table>
                      enum:
                        - AGTEC
                        - AGTOT
                    prestadorDoServicoDeSaque:
                      type: string
                      title: Facilitador de Serviço de Saque
                      pattern: \d{8}
                      description: ISPB do Facilitador de Serviço de Saque
    CobVPayloadValor:
      type: object
      title: Valor da cobrança com vencimento calculada retornada pelo payload
      required:
        - final
      description: >-
        Todos os campos que indicam valores monetários obedecem ao pattern
        \d{1,10}\.\d{2}. O separador decimal é o caractere ponto. Não é
        aplicável utilizar separador de milhar. Exemplos de valores aderentes ao
        padrão: “1.00”, “123.99”, “123456789.23
      properties:
        original:
          type: string
          title: Valor
          pattern: \d{1,10}\.\d{2}
          description: Valor original da cobrança.
        multa:
          title: Multa aplicada
          description: Multa aplicada à cobrança
          type: string
          pattern: \d{1,10}\.\d{2}
        juros:
          title: Juro aplicado
          description: Juro aplicado à cobrança
          type: string
          pattern: \d{1,10}\.\d{2}
        abatimento:
          title: Abatimento aplicado
          description: Abatimento aplicado à cobrança
          type: string
          pattern: \d{1,10}\.\d{2}
        desconto:
          title: Desconto aplicado
          description: Descontos aplicados à cobrança
          type: string
          pattern: \d{1,10}\.\d{2}
        final:
          type: string
          title: Valor final
          pattern: \d{1,10}\.\d{2}
          description: Valor final da cobrança.
    RecCompleta:
      type: object
      title: Recorrência Completa
      required:
        - status
        - recebedor
      description: Atributos de Configuração de Recorrência
      allOf:
        - type: object
          properties:
            idRec:
              $ref: '#/components/schemas/RecId'
        - $ref: '#/components/schemas/RecBase'
        - type: object
          properties:
            recebedor:
              oneOf:
                - $ref: '#/components/schemas/PessoaJuridicaRecorrencia'
              allOf:
                - type: object
                  properties:
                    convenio:
                      type: string
                      title: Convênio
                      description: Convênio entre usuário e participante recebedor.
                      maxLength: 60
        - $ref: '#/components/schemas/DadosPagadorRec'
        - $ref: '#/components/schemas/RecStatus'
        - $ref: '#/components/schemas/RecConfiguracao'
        - type: object
          properties:
            loc:
              allOf:
                - $ref: '#/components/schemas/PayloadLocationRecCompleta'
        - $ref: '#/components/schemas/RecAtualizacao'
        - $ref: '#/components/schemas/RecEncerramento'
        - type: object
          properties:
            solicitacao:
              type: array
              title: Solicitações vinculadas
              description: Solicitações vinculadas
              items:
                allOf:
                  - $ref: '#/components/schemas/SolicRecCompleta'
        - $ref: '#/components/schemas/RecAtivacao'
        - type: object
          properties:
            dadosQR:
              type: object
              title: Informações do QR Composto.
              description: >
                ##### Informações relacionadas aos parâmetros `idRec` e `txid`
                informados na requisição.

                Ao consultar uma recorrência via endpoint GET
                `/rec/{idRec}?txid={txid}`, o usuário recebedor pode optar pela
                consulta sem 

                o `txid` ou por compor a requisição com um `txid` de uma
                cobrança imediata, ou cobrança com vencimento, de forma a obter
                o QR Composto

                para a jornada de interesse.


                Os `dadosQR` retornados variam de acordo com a jornada desejada,
                indicada pela presença dos parâmetros de interesse, conforme a
                tabela abaixo:

                <table  >

                <tr><td width="15%">idRec</td><td  width="15%">txid de
                Cob</td><td  width="15%">txid de CobV</td><td
                width="100%">Conteúdo esperado</td></tr>

                <tr><td>X</td><td>-</td><td>-</td><td><pre>{ jornada:
                "JORNADA_2", pixCopiaECola: "QR Composto da recorrência"
                }</pre></td></tr>

                <tr><td>X</td><td>X</td><td>-</td><td><pre>{ jornada:
                "JORNADA_3", pixCopiaECola: "QR Composto da cobrança imediata +
                recorrência" }</pre></td></tr>

                <tr><td>X</td><td>-</td><td>X</td><td><pre>{ jornada:
                "JORNADA_4", pixCopiaECola: "QR Composto da cobrança com
                vencimento + recorrência" }</pre></td></tr>

                </table>


                Os campos `dadosQR.jornada` e `dadosQR.pixCopiaECola` só serão
                retornados se as respectivas locations necessárias para a
                construção do QR Composto

                estiverem preenchidas na recorrência e na eventual cobrança, a
                depender da jornada desejada.
              properties:
                jornada:
                  type: string
                  title: Jornada de ativação
                  enum:
                    - JORNADA_2
                    - JORNADA_3
                    - JORNADA_4
                pixCopiaECola:
                  type: string
                  title: Pix Copia e Cola correspondente à Recorrência.
                  description: >-
                    Este campo retorna o valor do Pix Copia e Cola
                    correspondente à recorrência. Trata-se da sequência de
                    caracteres que representa o BR Code.
                  maxLength: 512
    RecCompletaPesquisada:
      type: object
      title: Recorrência Completa Pesquisada
      required:
        - status
        - recebedor
      description: Atributos de Configuração de Recorrência
      allOf:
        - type: object
          properties:
            idRec:
              $ref: '#/components/schemas/RecId'
        - $ref: '#/components/schemas/RecBase'
        - type: object
          properties:
            recebedor:
              oneOf:
                - $ref: '#/components/schemas/PessoaJuridicaRecorrencia'
              allOf:
                - type: object
                  properties:
                    convenio:
                      type: string
                      title: Convênio
                      description: Convênio entre usuário e participante recebedor.
                      maxLength: 60
        - $ref: '#/components/schemas/DadosPagadorRec'
        - $ref: '#/components/schemas/RecStatus'
        - $ref: '#/components/schemas/RecConfiguracao'
        - type: object
          properties:
            loc:
              allOf:
                - $ref: '#/components/schemas/PayloadLocationRecCompleta'
        - $ref: '#/components/schemas/RecAtualizacao'
        - $ref: '#/components/schemas/RecEncerramento'
        - type: object
          properties:
            solicitacao:
              type: array
              title: Solicitações vinculadas
              description: Solicitações vinculadas
              items:
                allOf:
                  - $ref: '#/components/schemas/SolicRecCompleta'
        - $ref: '#/components/schemas/RecAtivacao'
    RecGerada:
      type: object
      title: Recorrência Gerada
      required:
        - recebedor
      description: Atributos de Configuração de Recorrência
      allOf:
        - type: object
          properties:
            idRec:
              $ref: '#/components/schemas/RecId'
        - $ref: '#/components/schemas/RecBase'
        - type: object
          properties:
            recebedor:
              oneOf:
                - $ref: '#/components/schemas/PessoaJuridicaRecorrencia'
              allOf:
                - type: object
                  properties:
                    convenio:
                      type: string
                      title: Convênio
                      description: Convênio entre usuário e participante recebedor.
                      maxLength: 60
        - $ref: '#/components/schemas/RecStatus'
        - type: object
          properties:
            loc:
              allOf:
                - $ref: '#/components/schemas/PayloadLocationRecCompleta'
        - $ref: '#/components/schemas/RecAtualizacao'
        - $ref: '#/components/schemas/RecEncerramento'
        - $ref: '#/components/schemas/RecAtivacao'
    RecSolicitada:
      type: object
      title: Recorrência Solicitada
      description: Atributos de Configuração de Recorrência
      allOf:
        - $ref: '#/components/schemas/RecBase'
        - type: object
          properties:
            recebedor:
              type: object
              properties:
                convenio:
                  type: string
                  title: Convênio
                  description: Convênio entre usuário e participante recebedor.
                  maxLength: 60
        - $ref: '#/components/schemas/RecConfiguracao'
        - type: object
          properties:
            loc:
              allOf:
                - $ref: '#/components/schemas/PayloadLocationRecId'
        - $ref: '#/components/schemas/RecAtivacaoSolicitada'
    RecPayload:
      type: object
      title: Payload da Recorrência
      required:
        - idRec
        - atualizacao
        - recebedor
      description: Atributos de Configuração de Recorrência
      allOf:
        - type: object
          properties:
            idRec:
              $ref: '#/components/schemas/RecId'
        - $ref: '#/components/schemas/RecBase'
        - type: object
          properties:
            recebedor:
              oneOf:
                - $ref: '#/components/schemas/PessoaJuridicaRecorrencia'
              allOf:
                - type: object
                  required:
                    - ispbParticipante
                  properties:
                    ispbParticipante:
                      type: string
                      title: ISPB do usuário recebedor.
                      description: ISPB do usuário recebedor.
                      pattern: \d{8}
        - $ref: '#/components/schemas/RecConfiguracao'
        - $ref: '#/components/schemas/RecAtualizacao'
    RecRevisada:
      type: object
      title: Recorrência Revisada
      description: Atributos de Revisão da Configuração de Recorrência
      allOf:
        - type: object
          title: Status da Recorrência
          properties:
            status:
              type: string
              title: Status do registro da recorrência
              enum:
                - CANCELADA
        - type: object
          properties:
            vinculo:
              type: object
              properties:
                devedor:
                  description: >-
                    O objeto devedor organiza as informações sobre o devedor da
                    recorrência.
                  oneOf:
                    - type: object
                      required:
                        - nome
                      title: Pessoa Física
                      properties:
                        nome:
                          type: string
                          title: Nome
                          description: Nome do usuário.
                          maxLength: 140
                    - type: object
                      required:
                        - nome
                      title: Pessoa Jurídica
                      properties:
                        nome:
                          type: string
                          title: Nome
                          description: Nome do usuário.
                          maxLength: 140
        - type: object
          properties:
            loc:
              allOf:
                - $ref: '#/components/schemas/PayloadLocationRecId'
        - type: object
          properties:
            calendario:
              type: object
              title: Informações sobre calendário da recorrência
              description: Informações sobre calendário da recorrência
              properties:
                dataInicial:
                  type: string
                  format: date
                  title: Data estimada de primeiro pagamento.
                  description: >-
                    Trata-se de uma data, no formato `YYYY-MM-DD`, segundo ISO
                    8601. Data estimada de primeiro pagamento.
                  example: '2023-04-01'
        - $ref: '#/components/schemas/RecAtivacaoSolicitada'
    RecNotification:
      type: object
      title: Recorrência Notificada
      required:
        - idRec
        - status
        - atualizacao"
      description: Atributos de Notificação de Recorrência
      allOf:
        - type: object
          properties:
            idRec:
              $ref: '#/components/schemas/RecId'
        - $ref: '#/components/schemas/RecStatus'
        - $ref: '#/components/schemas/RecAtualizacao'
        - $ref: '#/components/schemas/RecEncerramento'
        - $ref: '#/components/schemas/RecAtivacao'
    RecAtivacao:
      type: object
      title: Dados relacionados à confirmação da ativação da recorrência.
      properties:
        ativacao:
          type: object
          title: Dados relacionados à confirmação da ativação da recorrência.
          required:
            - tipoJornada
          description: Dados relacionados à confirmação da ativação da recorrência.
          properties:
            tipoJornada:
              type: string
              title: Jornada de ativação
              description: >
                Dado relacionado ao caminho percorrido pelo processo de adesão a
                recorrência pelo usuário pagador, os valores possíveis são:
                  - JORNADA_1: Usuário pagador aceitou a recorrência através de notificação externa ao ecossistema
                  - JORNADA_2: Usuário pagador aceitou a recorrência através de leitura de QR Code de recorrência
                  - JORNADA_3: Usuário pagador iniciou a recorrência através de leitura de QR Code composto e pagamento de cobrança imediata. O uso desta jornada torna obrigatório o preenchimento da informação dadosJornada.txid
                  - JORNADA_4: Usuário pagador escolheu aderir à recorrência através de leitura de QR Code composto relacionado à cobrança com vencimento ou estática relacionada a um contrato vigente
                  - AGUARDANDO_DEFINICAO: Valor inicial posterior a criação e anterior a ativação da recorrência.
              enum:
                - JORNADA_1
                - JORNADA_2
                - JORNADA_3
                - JORNADA_4
                - AGUARDANDO_DEFINICAO
            dadosJornada:
              type: object
              title: Dados de confirmação da jornada e início da recorrência
              oneOf:
                - type: object
                  title: Cobrança imediata vinculada à Jornada 3
                  required:
                    - txid
                  description: >-
                    Dado de preenchimento obrigatório quando utilizada a Jornada
                    3. Este campo deve ser removido pelo PSP Recebedor quando a
                    ativação for realizada pelas jornadas 1, 2 ou 4.
                  properties:
                    txid:
                      $ref: '#/components/schemas/TxId'
    RecAtivacaoSolicitada:
      type: object
      title: Dados relacionados à confirmação da ativação da recorrência.
      properties:
        ativacao:
          type: object
          title: Dados relacionados à confirmação da ativação da recorrência.
          description: Dados relacionados à confirmação da ativação da recorrência.
          properties:
            dadosJornada:
              type: object
              title: Dados de confirmação da jornada e início da recorrência
              oneOf:
                - type: object
                  title: Cobrança imediata vinculada à Jornada 3
                  required:
                    - txid
                  description: >-
                    Dado de preenchimento obrigatório quando utilizada a Jornada
                    3. Este campo deve ser removido pelo PSP Recebedor quando a
                    ativação for realizada pelas jornadas 1, 2 ou 4.
                  properties:
                    txid:
                      $ref: '#/components/schemas/TxId'
    RecStatus:
      type: object
      title: Status da Recorrência
      required:
        - status
      properties:
        status:
          type: string
          title: Status do registro da recorrência
          enum:
            - CRIADA
            - APROVADA
            - REJEITADA
            - EXPIRADA
            - CANCELADA
    RecConfiguracao:
      type: object
      title: Configuração da Recorrência
      required:
        - politicaRetentativa
      properties:
        politicaRetentativa:
          type: string
          title: Política de retentativa pós vencimento da recorrência
          enum:
            - NAO_PERMITE
            - PERMITE_3R_7D
    RecAtualizacao:
      type: object
      title: Histórico de atualização da recorrência.
      required:
        - atualizacao
      properties:
        atualizacao:
          type: array
          title: Histórico de Status
          description: Histórico das mudanças de status da recorrência.
          items:
            type: object
            required:
              - status
              - data
            properties:
              status:
                type: string
                title: Status da recorrência
                description: Status da recorrência.
                enum:
                  - CRIADA
                  - APROVADA
                  - REJEITADA
                  - EXPIRADA
                  - CANCELADA
              data:
                type: string
                format: date-time
                description: >-
                  Data e hora do registro de status atualizado. Respeita RFC
                  3339.
    RecEncerramento:
      type: object
      title: Detalhamento do encerramento da recorrência.
      properties:
        encerramento:
          type: object
          title: Detalhamento do encerramento da recorrência.
          oneOf:
            - type: object
              properties:
                rejeicao:
                  type: object
                  title: Informações sobre a rejeição da recorrência
                  required:
                    - codigo
                    - descricao
                  description: Informações sobre a rejeição da recorrência
                  properties:
                    codigo:
                      type: string
                      title: Código da rejeição
                      description: >-
                        Código da rejeição. Corresponde ao código de rejeição
                        presente no catálogo de mensagens.
                      enum:
                        - AP13
                        - AP14
                      maxLength: 4
                    descricao:
                      type: string
                      title: Descricao da rejeição
                      description: Descricao da causa da rejeição
                      maxLength: 105
            - type: object
              properties:
                cancelamento:
                  type: object
                  title: Informações sobre o cancelamento da recorrência
                  required:
                    - solicitante
                    - codigo
                    - descricao
                  description: Informações sobre o cancelamento da recorrência
                  properties:
                    solicitante:
                      type: string
                      title: Solicitante do cancelamento
                      enum:
                        - PSP_PAGADOR
                        - USUARIO_PAGADOR
                        - PSP_RECEBEDOR
                        - USUARIO_RECEBEDOR
                    codigo:
                      type: string
                      title: Código do cancelamento
                      description: >-
                        Código do cancelamento. Corresponde ao código de
                        cancelamento presente no catálogo de mensagens.
                      enum:
                        - ACCL
                        - CPCL
                        - DCSD
                        - ERSL
                        - FRUD
                        - PCFD
                        - SLCR
                        - SLDB
                      maxLength: 4
                    descricao:
                      type: string
                      title: Descricao do cancelamento
                      description: Descricao do cancelamento.
                      maxLength: 105
    RecId:
      type: string
      title: ID Recorrência
      description: >
        # Identificador da Recorrência


        Regra de formação:

        - RAxxxxxxxxyyyyMMddkkkkkkkkkkk (29 caracteres; "case sensitive", isso
        é, diferencia letras maiúsculas e minúsculas), sendo:
          - "R":  fixo (1 caractere). "R" para a recorrência criada dentro do Pix;
          - "A": identificação da possibilidade de novas tentativas, sendo possíveis os valores "R" ou "N" (1 caractere). "R" caso a recorrência permita novas tentativas de pagamento pós vencimento, ou "N" caso não permita novas tentativas.
          - "xxxxxxxx":  identificação do agente que presta serviço para o usuário recebedor que gerou o <Id>, podendo ser: o ISPB do participante direto, o ISPB do participante indireto ou os 8 primeiros dígitos do CNPJ do prestador de serviço de iniciação (8 caracteres numéricos [0-9]);
          - "yyyyMMdd":  data (8 caracteres) de criação da recorrência;
          - "kkkkkkkkkkk": sequencial criado pelo agente que gerou o <Id> (11 caracteres alfanuméricos [a-z|A-Z|0-9]). Deve ser único dentro de cada "yyyyMMdd".

        Dessa forma, o ID da recorrência deve ser formado de acordo com um dos
        tipos a seguir:

        - "RRxxxxxxxxyyyyMMddkkkkkkkkkkk"; para recorrência criada dentro do Pix
        e que permite novas tentativas de pagamento pós vencimento; ou

        - "RNxxxxxxxxyyyyMMddkkkkkkkkkkk"; para recorrência criada dentro do Pix
        e que não permite novas tentativas de pagamento pós vencimento.”
      pattern: '[a-zA-Z0-9]{29}'
      minLength: 29
      maxLength: 29
      example: RR1234567820240115abcdefghijk
    RecBase:
      title: Recorrência Base
      type: object
      required:
        - idRec
        - calendario
        - vinculo
        - retentativa
      description: Atributos de Configuração de Recorrência
      properties:
        vinculo:
          type: object
          title: Descrição do Objeto da Recorrência
          required:
            - contrato
            - devedor
          description: Informações sobre o objeto da recorrência.
          properties:
            objeto:
              type: string
              title: Identificador do objeto de vínculo
              description: >-
                Campo de texto livre para informações referentes ao contrato que
                permitam ao usuário pagador reconhecer o objeto dos pagamentos
                periódicos por meio do Pix Automático.
              maxLength: 35
              example:
                - Conta de energia Av. Paulista, 1804
                - Serviço de internet banda larga
                - Assinatura anual
            devedor:
              description: >-
                O objeto devedor organiza as informações sobre o devedor da
                recorrência.
              oneOf:
                - $ref: '#/components/schemas/PessoaFisicaRecorrencia'
                - $ref: '#/components/schemas/PessoaJuridicaRecorrencia'
            contrato:
              type: string
              title: Objeto da autorização
              description: >-
                Número, identificador, ou código que representa o objeto da
                autorização (contrato, pedido etc.).
              maxLength: 35
        calendario:
          type: object
          title: Informações sobre calendário da recorrência
          required:
            - dataInicial
            - periodicidade
          description: Informações sobre calendário da recorrência
          properties:
            dataInicial:
              type: string
              format: date
              title: Data estimada de primeiro pagamento.
              description: >-
                Trata-se de uma data, no formato `YYYY-MM-DD`, segundo ISO 8601.
                Data estimada de primeiro pagamento.
              example: '2023-04-01'
            dataFinal:
              type: string
              format: date
              title: Data final da vigência.
              description: >-
                Campo opcional que deve ser preenchido para autorizações com
                vigência pré-definida, devendo ser compatível com os valores
                informados em tipoFrequencia e a dataInicialRecorrencia. Não
                deve ser preenchido para autorizações por tempo indeterminado.
                Trata-se de uma data, no formato `YYYY-MM-DD`, segundo ISO 8601.
              example: '2023-04-01'
            periodicidade:
              type: string
              title: Periodicidade das cobranças recorrentes.
              enum:
                - SEMANAL
                - MENSAL
                - TRIMESTRAL
                - SEMESTRAL
                - ANUAL
        valor:
          type: object
          properties:
            valorRec:
              type: string
              pattern: \d{1,10}\.\d{2}
              title: Valor da recorrência
              description: >-
                Campo opcional, deve ser preenchido apenas quando o valor dos
                pagamentos for fixo ou não for sujeito a alteração durante a
                vigência da autorização.
            valorMinimoRecebedor:
              type: string
              pattern: \d{1,10}\.\d{2}
              title: Valor mínimo da recorrência
              description: >-
                Campo opcional. Valor definido pelo usuário recebedor. Se o
                usuário pagador atribuir um valor máximo para os pagamentos
                daquela autorização, ele não poderá ser inferior ao piso
                definido pelo usuário recebedor. Não pode ser preenchido nas
                autorizações de valor fixo, ou seja, com campo valor preenchido.
    SolicRecId:
      type: object
      title: Id da Solicitação de recorrência
      required:
        - idSolicRec
      description: Dados criados ou alterados da cobrança recorrente via API Pix
      properties:
        idSolicRec:
          type: string
          title: ID Solicitação da Recorrência
          description: >
            # Identificador da Solicitação da Recorrência


            Regra de formação:

            - SCxxxxxxxxyyyyMMddkkkkkkkkkkk (29 caracteres; “case sensitive”,
            isso é, diferencia letras maiúsculas e minúsculas), sendo:
              - SC - fixo (2 caracteres);
              - xxxxxxxx – ISPB do agente que envia a mensagem pain.009 de solicitação de confirmação da recorrência;
              - yyyyMMdd – data (8 caracteres) de criação da mensagem pain.009 de solicitação de confirmação da recorrência;
              - kkkkkkkkkkk – sequencial criado pelo agente que gerou a mensagem de solicitação de confirmação da recorrência (11 caracteres alfanuméricos [a-z|A-Z|0-9]). Deve ser único dentro de cada “yyyyMMdd”.
          pattern: '[a-zA-Z0-9]{29}'
          minLength: 29
          maxLength: 29
          example: SC1234567820240115abcdefghijk
    SolicRecBase:
      type: object
      title: Solicitação de Recorrência Base
      required:
        - calendario
        - pagador
        - idRec
        - destinatario
      description: Dados criados ou alterados da cobrança recorrente via API Pix
      properties:
        idRec:
          $ref: '#/components/schemas/RecId'
        calendario:
          type: object
          title: Informações de Calendário da Solicitação da Recorrência
          required:
            - dataExpiracaoSolicitacao
          properties:
            dataExpiracaoSolicitacao:
              type: string
              format: date-time
              title: Data da expiração da solicitação enviada ao usuário pagador.
              description: >-
                Data da expiração da solicitação enviada ao usuário pagador.
                Respeita RFC 3339.
        destinatario:
          allOf:
            - $ref: '#/components/schemas/DadosBancarios'
          oneOf:
            - $ref: '#/components/schemas/CPF'
            - $ref: '#/components/schemas/CNPJ'
    SolicRecStatus:
      type: object
      title: Status da Solicitação de Recorrência
      required:
        - status
      properties:
        status:
          type: string
          title: Status do registro da solicitação de recorrência
          enum:
            - CRIADA
            - ENVIADA
            - RECEBIDA
            - REJEITADA
            - ACEITA
            - EXPIRADA
            - CANCELADA
    SolicRecAtualizacao:
      type: object
      title: Histórico de Status da Solicitação de Recorrência
      required:
        - atualizacao
      properties:
        atualizacao:
          type: array
          title: Histórico de Status da Solicitação de Recorrência
          description: ''
          items:
            type: object
            required:
              - status
              - data
            properties:
              status:
                type: string
                title: Status do registro da solicitação de recorrência
                enum:
                  - CRIADA
                  - ENVIADA
                  - RECEBIDA
                  - REJEITADA
                  - ACEITA
                  - EXPIRADA
                  - CANCELADA
              data:
                type: string
                format: date-time
                description: >-
                  Data e hora do registro de status atualizado. Respeita RFC
                  3339.
    SolicRecSolicitada:
      type: object
      title: Solicitação de Recorrência
      description: Dados criados ou alterados da solicitação da recorrência
      allOf:
        - $ref: '#/components/schemas/SolicRecBase'
    SolicRecRevisada:
      type: object
      title: Solicitação de Recorrência
      description: Dados alterados da solicitação da recorrência
      required:
        - status
      properties:
        status:
          type: string
          title: Status do registro da solicitação de recorrência
          enum:
            - CANCELADA
    SolicRecCompleta:
      type: object
      title: Solicitação de Recorrência Completa
      required:
        - rec
      description: Dados criados ou alterados da solicitação da recorrência
      allOf:
        - $ref: '#/components/schemas/SolicRecId'
        - $ref: '#/components/schemas/SolicRecBase'
        - $ref: '#/components/schemas/SolicRecStatus'
        - $ref: '#/components/schemas/SolicRecAtualizacao'
        - type: object
          properties:
            recPayload:
              $ref: '#/components/schemas/RecPayload'
    CobRGerada:
      type: object
      title: Cobrança Recorrente Gerada
      required:
        - idRec
        - txid
        - status
        - valor
        - recebedor
        - calendario
      description: Dados criados ou alterados da cobrança recorrente via API Pix
      allOf:
        - type: object
          properties:
            idRec:
              $ref: '#/components/schemas/RecId'
        - type: object
          properties:
            txid:
              $ref: '#/components/schemas/TxId'
        - $ref: '#/components/schemas/CobRBase'
        - type: object
          properties:
            calendario:
              type: object
              required:
                - criacao
              properties:
                criacao:
                  type: string
                  format: date
                  title: Data de criação da cobrança
                  description: >-
                    Trata-se de uma data, no formato `YYYY-MM-DD`, segundo ISO
                    8601. É a data de criação da cobrança.
                  example: '2023-04-01'
        - type: object
          properties:
            recebedor:
              allOf:
                - $ref: '#/components/schemas/PessoaJuridicaRecorrencia'
        - $ref: '#/components/schemas/CobRStatus'
        - $ref: '#/components/schemas/DadosDevedorRecorrencia'
    CobRCompleta:
      type: object
      title: Cobrança Recorrente Completa
      required:
        - idRec
        - txid
        - status
        - valor
        - recebedor
        - calendario
      description: Dados completos da cobrança recorrente via API Pix
      allOf:
        - type: object
          properties:
            idRec:
              $ref: '#/components/schemas/RecId'
        - type: object
          properties:
            txid:
              $ref: '#/components/schemas/TxId'
        - $ref: '#/components/schemas/CobRBase'
        - type: object
          properties:
            calendario:
              type: object
              required:
                - criacao
              properties:
                criacao:
                  type: string
                  format: date
                  title: Data de criação da cobrança
                  description: >-
                    Trata-se de uma data, no formato `YYYY-MM-DD`, segundo ISO
                    8601. É a data de criação da cobrança.
                  example: '2023-04-01'
        - $ref: '#/components/schemas/CobRStatus'
        - $ref: '#/components/schemas/CobRConfiguracao'
        - $ref: '#/components/schemas/DadosDevedorRecorrencia'
        - type: object
          properties:
            pix:
              type: array
              title: Pix recebidos
              items:
                allOf:
                  - $ref: '#/components/schemas/PixAutomatico'
                  - type: object
                    properties:
                      txid:
                        allOf:
                          - $ref: '#/components/schemas/TxId'
                          - pattern: '[a-zA-Z0-9]{26,35}'
        - $ref: '#/components/schemas/CobRAtualizacao'
        - $ref: '#/components/schemas/CobRTentativas'
    CobRAtualizacao:
      type: object
      title: Histórico de Atualização da Cobrança Recorrente
      required:
        - atualizacao
      properties:
        atualizacao:
          type: array
          title: Histórico de Status
          description: Histórico das mudanças de status das cobranças recorrentes.
          items:
            type: object
            required:
              - status
              - data
            properties:
              status:
                type: string
                title: Status da cobrança
                description: Status da cobrança.
                enum:
                  - CRIADA
                  - ATIVA
                  - CONCLUIDA
                  - EXPIRADA
                  - REJEITADA
                  - CANCELADA
              data:
                type: string
                format: date-time
                description: >-
                  Data e hora do registro de status atualizado. Respeita RFC
                  3339.
        encerramento:
          type: object
          title: Detalhamento do encerramento da cobrança.
          oneOf:
            - type: object
              properties:
                cancelamento:
                  type: object
                  title: Informações sobre o cancelamento da cobrança
                  required:
                    - solicitante
                    - codigo
                    - descricao
                  description: Informações sobre o cancelamento da cobrança
                  properties:
                    solicitante:
                      type: string
                      title: Solicitante do cancelamento
                      enum:
                        - PSP_PAGADOR
                        - USUARIO_PAGADOR
                        - PSP_RECEBEDOR
                        - USUARIO_RECEBEDOR
                    codigo:
                      type: string
                      title: Código do cancelamento
                      description: >-
                        Código do cancelamento. Corresponde ao código de
                        cancelamento presente no catálogo de mensagens.
                      maxLength: 4
                      enum:
                        - ACCT
                        - BLCK
                        - CCLD
                        - FAIL
                        - OTHR
                        - SLBD
                        - SLCR
                    descricao:
                      type: string
                      title: Descricao do cancelamento
                      description: Descricao da causa do cancelamento
                      maxLength: 105
            - type: object
              properties:
                rejeicao:
                  type: object
                  title: Informações sobre a rejeição da cobrança
                  required:
                    - codigo
                    - descricao
                  description: Informações sobre a rejeição da cobrança
                  properties:
                    codigo:
                      type: string
                      title: Código da rejeição
                      description: >-
                        Código da rejeição. Corresponde ao código de rejeição
                        presente no catálogo de mensagens.
                      maxLength: 4
                      enum:
                        - AB10
                        - AC05
                        - AC06
                        - AM02
                        - AM09
                        - DENC
                        - DS27
                        - DTED
                        - DTNT
                        - FBRD
                        - IRNT
                        - MIDI
                        - MSUC
                        - NIEC
                        - NIPA
                        - NITX
                        - QUNT
                        - RC09
                        - UDEI
                    descricao:
                      type: string
                      title: Descricao da rejeição
                      description: Descricao da causa da rejeição
                      maxLength: 105
    CobRTentativas:
      type: object
      title: Histórico de Tentativas da Cobrança Recorrente
      properties:
        tentativas:
          type: array
          title: Histórico de Tentativas de Cobrança
          description: Histórico de Tentativas de Cobrança
          items:
            type: object
            required:
              - dataLiquidacao
              - tipo
              - endToEndId
              - status
              - atualizacao
            properties:
              dataLiquidacao:
                type: string
                format: date
                description: >-
                  Data da liquidação da cobrança. Trata-se de uma data, no
                  formato `YYYY-MM-DD`, segundo ISO 8601.
                example: '2023-04-01'
              tipo:
                type: string
                title: Tipo da Tentativa
                description: Tipo da tentativa da cobrança.
                enum:
                  - AGND
                  - NTAG
                  - RIFL
              status:
                type: string
                title: Status da Tentativa
                description: Status da tentativa da cobrança.
                enum:
                  - SOLICITADA
                  - AGENDADA
                  - PAGA
                  - CANCELADA
                  - REJEITADA
                  - EXPIRADA
              endToEndId:
                $ref: '#/components/schemas/EndToEndId'
              atualizacao:
                type: array
                title: Histórico de Status da Tentativa
                description: Histórico das mudanças de status da tentativa de cobrança.
                items:
                  type: object
                  required:
                    - status
                    - data
                  properties:
                    status:
                      type: string
                      title: Status da Tentativa
                      description: Status da tentativa da cobrança.
                      enum:
                        - SOLICITADA
                        - AGENDADA
                        - PAGA
                        - CANCELADA
                        - REJEITADA
                        - EXPIRADA
                    data:
                      type: string
                      format: date-time
                      description: >-
                        Data e hora do registro de status atualizado. Respeita
                        RFC 3339.
              rejeicao:
                type: object
                title: Informações sobre a rejeição da tentativa da cobrança
                required:
                  - codigo
                  - descricao
                description: Informações sobre a rejeição da tentativa da cobrança
                properties:
                  codigo:
                    type: string
                    title: Código da rejeição da tentativa
                    description: >-
                      Código da rejeição da tentativa. Corresponde ao código de
                      rejeição presente no catálogo de mensagens. Os códigos de
                      rejeição da tentativa
                      `AC05`,`AM09`,`DENC`,`DS27`,`DTED`,`MIDI`,`MSUC`,`NITX`,`RC09`
                      e `DTED` causam a rejeição da cobrança recorrente
                      correspondente.
                    maxLength: 4
                    enum:
                      - AB10
                      - AC05
                      - AC06
                      - AM02
                      - AM09
                      - DENC
                      - DS27
                      - DTED
                      - DTNT
                      - FBRD
                      - IRNT
                      - MIDI
                      - MSUC
                      - NIEC
                      - NIPA
                      - NITX
                      - QUNT
                      - RC09
                      - UDEI
                  descricao:
                    type: string
                    title: Descricao da rejeição
                    description: Descricao da causa da rejeição
                    maxLength: 105
    CobRRevisada:
      type: object
      title: Cobrança Recorrente Revisada
      description: Dados enviados para revisão da cobrança recorrente via API Pix
      allOf:
        - $ref: '#/components/schemas/CobRStatusRevisada'
    CobRSolicitada:
      type: object
      title: Cobrança Recorrente Solicitada
      required:
        - idRec
        - calendario
        - valor
        - recebedor
      description: Dados enviados para criação da cobrança recorrente via API Pix
      allOf:
        - type: object
          properties:
            idRec:
              $ref: '#/components/schemas/RecId'
        - $ref: '#/components/schemas/CobRBase'
        - $ref: '#/components/schemas/DadosDevedorRecorrencia'
    CobRNotification:
      type: object
      title: Cobrança Recorrente Notificada
      required:
        - idRec
        - txid
        - status
        - atualizacao
      description: Dados enviados para criação da cobrança recorrente via API Pix
      allOf:
        - type: object
          properties:
            idRec:
              $ref: '#/components/schemas/RecId'
        - type: object
          properties:
            txid:
              $ref: '#/components/schemas/TxId'
        - $ref: '#/components/schemas/CobRStatus'
        - $ref: '#/components/schemas/CobRAtualizacao'
        - $ref: '#/components/schemas/CobRTentativas'
        - type: object
          properties:
            pix:
              type: array
              title: Pix recebidos
              items:
                allOf:
                  - $ref: '#/components/schemas/PixAutomatico'
                  - type: object
                    properties:
                      txid:
                        allOf:
                          - $ref: '#/components/schemas/TxId'
                          - pattern: '[a-zA-Z0-9]{26,35}'
    CobRConfiguracao:
      type: object
      title: Configuração da Cobrança Recorrente
      required:
        - politicaRetentativa
      properties:
        politicaRetentativa:
          type: string
          title: Política de retentativa da cobrança recorrente
          enum:
            - NAO_PERMITE
            - PERMITE_3R_7D
    CobRStatus:
      type: object
      title: Status da Cobrança Recorrente
      properties:
        status:
          type: string
          title: Status do registro da cobrança
          enum:
            - CRIADA
            - ATIVA
            - CONCLUIDA
            - EXPIRADA
            - REJEITADA
            - CANCELADA
    CobRStatusRevisada:
      type: object
      title: Status da Cobrança Recorrente
      properties:
        status:
          type: string
          title: Status do registro da cobrança
          enum:
            - CANCELADA
    CobRBase:
      type: object
      title: Cobrança Recorrente Base
      required:
        - ajusteDiaUtil
      description: Atributos de cobrança recorrente
      properties:
        infoAdicional:
          type: string
          title: Informações adicionais da fatura.
          description: Informações adicionais da fatura.
          maxLength: 140
        calendario:
          type: object
          title: Informações sobre calendário da cobrança
          required:
            - dataDeVencimento
          description: ''
          properties:
            dataDeVencimento:
              type: string
              format: date
              title: Data de vencimento da cobrança
              description: >-
                Trata-se de uma data, no formato `YYYY-MM-DD`, segundo ISO 8601.
                É a data de vencimento da cobrança.
              example: '2023-04-01'
        valor:
          type: object
          title: Valor da cobrança recorrente
          required:
            - original
          description: Valor da cobrança recorrente
          properties:
            original:
              type: string
              title: Valor
              pattern: \d{1,10}\.\d{2}
              description: Valor original da cobrança.
        ajusteDiaUtil:
          type: boolean
          title: Ajuste data prevista para liquidação para próximo dia útil
          default: true
          description: >-
            Campo de ativação do ajuste da data prevista para liquidação para
            próximo dia útil caso o vencimento corrente seja um dia não útil. O
            PSP Recebedor deverá considerar os feriados locais com base no
            código município do usuário pagador.
        recebedor:
          description: >-
            O objeto recebedor organiza as informações sobre o recebedor da
            cobrança.
          allOf:
            - $ref: '#/components/schemas/DadosBancariosRecebedor'
    CobBase:
      type: object
      title: Cobrança Base
      description: Atributos comuns a todas entidades de Cobrança
      properties:
        chave:
          type: string
          title: Chave DICT do recebedor
          description: >
            # Formato do campo chave


            * O campo chave determina a chave Pix registrada no DICT que será
            utilizada para a cobrança. Essa chave será lida pelo aplicativo do
            PSP do pagador para consulta ao DICT, que retornará a informação que
            identificará o recebedor da cobrança.

            * Os tipos de chave podem ser: telefone, e-mail, cpf/cnpj ou EVP.

            * O formato das chaves pode ser encontrado na seção "Formatação das
            chaves do DICT no BR Code" do [Manual de Padrões para iniciação do
            Pix](https://www.bcb.gov.br/estabilidadefinanceira/pix).
          maxLength: 77
        solicitacaoPagador:
          type: string
          title: Solicitação ao pagador
          description: >-
            O campo solicitacaoPagador, opcional, determina um texto a ser
            apresentado ao pagador para que ele possa digitar uma informação
            correlata, em formato livre, a ser enviada ao recebedor. Esse texto
            será preenchido, na pacs.008, pelo PSP do pagador, no campo
            RemittanceInformation <RmtInf>. O tamanho do campo <RmtInf> na
            pacs.008 está limitado a 140 caracteres.
          maxLength: 140
        infoAdicionais:
          type: array
          title: Informações adicionais
          description: >-
            Cada respectiva informação adicional contida na lista (nome e valor)
            deve ser apresentada ao pagador.
          maximum: 50
          items:
            type: object
            required:
              - nome
              - valor
            properties:
              nome:
                type: string
                title: Nome
                description: Nome do campo.
                maxLength: 50
              valor:
                type: string
                title: Valor
                description: Dados do campo.
                maxLength: 200
    CobBaseCopiaCola:
      type: object
      title: Cobrança Base com Copia e Cola
      description: >-
        Atributos comuns a todas entidades de Cobrança que possuem informação de
        Copia e Cola
      allOf:
        - type: object
          properties:
            pixCopiaECola:
              type: string
              title: Pix Copia e Cola correspondente à cobrança.
              description: >-
                Este campo retorna o valor do Pix Copia e Cola correspondente à
                cobrança. Trata-se da sequência de caracteres que representa o
                BR Code.
              maxLength: 512
        - $ref: '#/components/schemas/CobBase'
    CobSolicitada:
      type: object
      title: Cobrança imediata solicitada
      description: >-
        Dados enviados para criação ou alteração da cobrança imediata via API
        Pix
      required:
        - valor
        - chave
      allOf:
        - type: object
          properties:
            calendario:
              title: Calendário
              description: >-
                Os campos aninhados sob o identificador calendário organizam
                informações a respeito de controle de tempo da cobrança.
              allOf:
                - $ref: '#/components/schemas/CobExpiracao'
        - type: object
          properties:
            devedor:
              description: >-
                Os campos aninhados sob o objeto devedor são opcionais e
                identificam o devedor, ou seja, a pessoa ou a instituição a quem
                a cobrança está endereçada. Não identifica, necessariamente,
                quem irá efetivamente realizar o pagamento. Um CPF pode ser o
                devedor de uma cobrança, mas pode acontecer de outro CPF
                realizar, efetivamente, o pagamento do documento. Não é
                permitido que o campo `devedor.cpf` e campo `devedor.cnpj`
                estejam preenchidos ao mesmo tempo. Se o campo `devedor.cnpj`
                está preenchido, então o campo `devedor.cpf` não pode estar
                preenchido, e vice-versa. Se o campo `devedor.nome` está
                preenchido, então deve existir ou um `devedor.cpf` ou um campo
                `devedor.cnpj` preenchido.
              oneOf:
                - $ref: '#/components/schemas/DevedorPessoaFisica'
                - $ref: '#/components/schemas/DevedorPessoaJuridica'
        - type: object
          properties:
            loc:
              allOf:
                - $ref: '#/components/schemas/PayloadLocationCob'
        - type: object
          properties:
            valor:
              allOf:
                - required:
                    - original
                - $ref: '#/components/schemas/CobValor'
        - $ref: '#/components/schemas/CobBase'
    CobVSolicitada:
      type: object
      title: Cobrança com vencimento solicitada
      description: >-
        Dados enviados para criação ou alteração da cobrança com vencimento via
        API Pix
      required:
        - valor
        - chave
        - devedor
      allOf:
        - type: object
          properties:
            calendario:
              title: Calendário
              description: >-
                Os campos aninhados sob o identificador calendário organizam
                informações a respeito de controle de tempo da cobrança.
              allOf:
                - $ref: '#/components/schemas/CobDataDeVencimento'
        - $ref: '#/components/schemas/DadosDevedor'
        - type: object
          properties:
            loc:
              allOf:
                - $ref: '#/components/schemas/PayloadLocationCob'
        - type: object
          properties:
            valor:
              allOf:
                - required:
                    - original
                - $ref: '#/components/schemas/CobVValor'
        - $ref: '#/components/schemas/CobBase'
    CobRevisada:
      type: object
      title: Cobrança imediata revisada
      description: Dados enviados para revisão da cobrança imediata via API Pix
      allOf:
        - type: object
          properties:
            calendario:
              title: Calendário
              description: >-
                Os campos aninhados sob o identificador calendário organizam
                informações a respeito de controle de tempo da cobrança.
              allOf:
                - $ref: '#/components/schemas/CobExpiracao'
        - type: object
          properties:
            devedor:
              description: >-
                Os campos aninhados sob o objeto devedor são opcionais e
                identificam o devedor, ou seja, a pessoa ou a instituição a quem
                a cobrança está endereçada. Não identifica, necessariamente,
                quem irá efetivamente realizar o pagamento. Um CPF pode ser o
                devedor de uma cobrança, mas pode acontecer de outro CPF
                realizar, efetivamente, o pagamento do documento. Não é
                permitido que o campo `devedor.cpf` e campo `devedor.cnpj`
                estejam preenchidos ao mesmo tempo. Se o campo `devedor.cnpj`
                está preenchido, então o campo `devedor.cpf` não pode estar
                preenchido, e vice-versa. Se o campo `devedor.nome` está
                preenchido, então deve existir ou um `devedor.cpf` ou um campo
                `devedor.cnpj` preenchido.
              oneOf:
                - $ref: '#/components/schemas/PessoaFisica'
                - $ref: '#/components/schemas/PessoaJuridica'
        - type: object
          properties:
            loc:
              allOf:
                - $ref: '#/components/schemas/PayloadLocationCob'
        - type: object
          properties:
            status:
              type: string
              title: Status do registro da cobrança
              enum:
                - REMOVIDA_PELO_USUARIO_RECEBEDOR
        - type: object
          properties:
            valor:
              $ref: '#/components/schemas/CobValor'
        - $ref: '#/components/schemas/CobBase'
    CobVRevisada:
      type: object
      title: Cobrança com vencimento revisada
      description: Dados enviados para revisão da cobrança com vencimento via API Pix
      allOf:
        - type: object
          properties:
            calendario:
              title: Calendário
              description: >-
                Os campos aninhados sob o identificador calendário organizam
                informações a respeito de controle de tempo da cobrança.
              allOf:
                - $ref: '#/components/schemas/CobDataDeVencimento'
        - $ref: '#/components/schemas/DadosDevedor'
        - type: object
          properties:
            loc:
              allOf:
                - $ref: '#/components/schemas/PayloadLocationCob'
        - type: object
          properties:
            status:
              type: string
              title: Status do registro da cobrança
              enum:
                - REMOVIDA_PELO_USUARIO_RECEBEDOR
        - type: object
          properties:
            valor:
              $ref: '#/components/schemas/CobVValor'
        - $ref: '#/components/schemas/CobBase'
    CobGerada:
      type: object
      title: Cobrança imediata gerada
      description: Dados criados ou alterados da cobrança imediata via API Pix
      required:
        - txid
        - calendario
        - revisao
        - status
        - valor
        - chave
      allOf:
        - type: object
          properties:
            calendario:
              required:
                - expiracao
              title: Calendário
              description: >-
                Os campos aninhados sob o identificador calendário organizam
                informações a respeito de controle de tempo da cobrança.
              allOf:
                - $ref: '#/components/schemas/CobCriacao'
                - $ref: '#/components/schemas/CobExpiracao'
            txid:
              $ref: '#/components/schemas/TxId'
            revisao:
              $ref: '#/components/schemas/Revisao'
        - type: object
          properties:
            devedor:
              description: >-
                Os campos aninhados sob o objeto devedor são opcionais e
                identificam o devedor, ou seja, a pessoa ou a instituição a quem
                a cobrança está endereçada. Não identifica, necessariamente,
                quem irá efetivamente realizar o pagamento. Um CPF pode ser o
                devedor de uma cobrança, mas pode acontecer de outro CPF
                realizar, efetivamente, o pagamento do documento. Não é
                permitido que o campo `devedor.cpf` e campo `devedor.cnpj`
                estejam preenchidos ao mesmo tempo. Se o campo `devedor.cnpj`
                está preenchido, então o campo `devedor.cpf` não pode estar
                preenchido, e vice-versa. Se o campo `devedor.nome` está
                preenchido, então deve existir ou um `devedor.cpf` ou um campo
                `devedor.cnpj` preenchido.
              oneOf:
                - $ref: '#/components/schemas/PessoaFisica'
                - $ref: '#/components/schemas/PessoaJuridica'
        - type: object
          properties:
            loc:
              required:
                - id
                - txid
                - tipoCob
                - criacao
              allOf:
                - $ref: '#/components/schemas/PayloadLocation'
        - type: object
          properties:
            location:
              type: string
              title: Localização do payload
              description: Localização do Payload a ser informada na criação da cobrança.
              maxLength: 77
              format: uri
              example: pix.example.com/qr/v2/2353c790eefb11eaadc10242ac120002
              readOnly: true
        - type: object
          properties:
            status:
              $ref: '#/components/schemas/CobrancaStatus'
        - type: object
          properties:
            valor:
              required:
                - original
              allOf:
                - $ref: '#/components/schemas/CobValor'
        - $ref: '#/components/schemas/CobBaseCopiaCola'
    CobVGerada:
      type: object
      title: Cobrança com vencimento gerada
      description: Dados criados ou alterados da cobrança com vencimento via API Pix
      required:
        - location
        - txid
        - devedor
        - calendario
        - revisao
        - status
        - valor
        - chave
        - recebedor
      allOf:
        - type: object
          properties:
            calendario:
              required:
                - validadeAposVencimento
              title: Calendário
              description: >-
                Os campos aninhados sob o identificador calendário organizam
                informações a respeito de controle de tempo da cobrança.
              allOf:
                - $ref: '#/components/schemas/CobCriacao'
                - $ref: '#/components/schemas/CobDataDeVencimento'
            txid:
              $ref: '#/components/schemas/TxId'
            revisao:
              $ref: '#/components/schemas/Revisao'
        - $ref: '#/components/schemas/DadosDevedor'
        - $ref: '#/components/schemas/DadosRecebedor'
        - type: object
          properties:
            loc:
              required:
                - id
                - txid
                - tipoCob
                - criacao
              allOf:
                - $ref: '#/components/schemas/PayloadLocation'
        - type: object
          properties:
            status:
              $ref: '#/components/schemas/CobrancaStatus'
        - type: object
          properties:
            valor:
              required:
                - original
              allOf:
                - $ref: '#/components/schemas/CobVValor'
        - $ref: '#/components/schemas/CobBaseCopiaCola'
    CobrancaStatus:
      type: string
      title: Status do registro da cobrança.
      description: >
        Estado do registro da cobrança. Não se confunde com o estado da cobrança
        em si, ou seja, não guarda relação com o fato de a cobrança encontrar-se
        vencida ou expirada, por exemplo.


        Os status são assim definidos:

        - `ATIVA`: indica que o registro se refere a uma cobrança que foi gerada
        mas ainda não foi paga nem removida;

        - `CONCLUIDA`: indica que o registro se refere a uma cobrança que já foi
        paga e, por conseguinte, não pode acolher outro pagamento;

        - `REMOVIDA_PELO_USUARIO_RECEBEDOR`: indica que o usuário recebedor
        solicitou a remoção do registro da cobrança; e

        - `REMOVIDA_PELO_PSP`: indica que o PSP Recebedor solicitou a remoção do
        registro da cobrança.
      enum:
        - ATIVA
        - CONCLUIDA
        - REMOVIDA_PELO_USUARIO_RECEBEDOR
        - REMOVIDA_PELO_PSP
    LoteCobVGerado:
      title: Lote de cobranças com vencimento gerado
      type: object
      required:
        - id
        - descricao
        - criacao
        - cobsv
      properties:
        id:
          type: integer
          format: int64
          title: Id do lote
        descricao:
          type: string
          title: Descrição do lote
        criacao:
          type: string
          format: date-time
          title: Data de criação do lote
          description: >-
            Timestamp que indica o momento em que foi criado o lote. Respeita o
            formato definido na RFC 3339.
        cobsv:
          type: array
          items:
            $ref: '#/components/schemas/CobVGerada'
    CobVCompleta:
      title: Cobrança com vencimento completa
      required:
        - status
      allOf:
        - $ref: '#/components/schemas/CobVSolicitada'
        - $ref: '#/components/schemas/CobVGerada'
        - type: object
          properties:
            pix:
              type: array
              title: Pix recebidos
              items:
                allOf:
                  - $ref: '#/components/schemas/Pix'
                  - type: object
                    properties:
                      txid:
                        allOf:
                          - $ref: '#/components/schemas/TxId'
                          - pattern: '[a-zA-Z0-9]{26,35}'
        - type: object
          properties:
            status:
              $ref: '#/components/schemas/CobrancaStatus'
    CobCompleta:
      title: Cobrança imediata completa
      required:
        - status
      allOf:
        - $ref: '#/components/schemas/CobSolicitada'
        - $ref: '#/components/schemas/CobGerada'
        - type: object
          properties:
            status:
              $ref: '#/components/schemas/CobrancaStatus'
        - type: object
          properties:
            pix:
              type: array
              title: Pix recebidos
              items:
                allOf:
                  - $ref: '#/components/schemas/Pix'
                  - type: object
                    properties:
                      txid:
                        allOf:
                          - $ref: '#/components/schemas/TxId'
                          - pattern: '[a-zA-Z0-9]{26,35}'
    LoteCobVConsultado:
      title: Lote de solicitações de alteração ou criação de cobranças com vencimento
      type: object
      required:
        - id
        - descricao
        - criacao
        - cobsv
      properties:
        id:
          type: integer
          format: int64
          title: Identificador do lote em formato numérico.
        descricao:
          type: string
          title: Descrição do lote
        criacao:
          type: string
          format: date-time
          title: Data de criação do lote
          description: >-
            Timestamp que indica o momento em que foi criado o lote. Respeita o
            formato definido na RFC 3339.
        cobsv:
          type: array
          items:
            type: object
            required:
              - txid
              - status
            properties:
              txid:
                $ref: '#/components/schemas/TxId'
              status:
                type: string
                title: >-
                  Status da solicitação de criação/alteração da cobrança no
                  contexto de criação via lote
                enum:
                  - EM_PROCESSAMENTO
                  - CRIADA
                  - NEGADA
              problema:
                $ref: '#/components/schemas/Problema'
              criacao:
                type: string
                format: date-time
                title: Data de Criação
                description: Data e hora em que a cobrança foi criada. Respeita RFC 3339.
                readOnly: true
    LotesCobVConsultados:
      title: Lotes de solicitações de cobranças com vencimento
      type: object
      required:
        - parametros
        - lotes
      properties:
        parametros:
          $ref: '#/components/schemas/ParametrosConsultaLote'
        lotes:
          type: array
          title: >-
            Lotes de solicitações de criação/alteração de cobranças com
            vencimento
          items:
            allOf:
              - $ref: '#/components/schemas/LoteCobVConsultado'
    CobVPayload:
      type: object
      title: Payload JSON da cobrança com vencimento
      description: Dados da cobrança com vencimento acessados pelo payload JSON
      required:
        - txid
        - calendario
        - revisao
        - status
        - valor
        - chave
        - devedor
        - recebedor
      allOf:
        - type: object
          properties:
            calendario:
              title: Calendário
              description: >-
                Os campos aninhados sob o identificador calendário organizam
                informações a respeito de controle de tempo da cobrança.
              required:
                - criacao
                - apresentacao
                - validadeAposVencimento
              allOf:
                - $ref: '#/components/schemas/CobCriacao'
                - $ref: '#/components/schemas/CobApresentacao'
                - $ref: '#/components/schemas/CobDataDeVencimento'
        - type: object
          properties:
            devedor:
              description: >-
                Os campos aninhados sob o objeto devedor são opcionais e
                identificam o devedor, ou seja, a pessoa ou a instituição a quem
                a cobrança está endereçada. Não identifica, necessariamente,
                quem irá efetivamente realizar o pagamento. Um CPF pode ser o
                devedor de uma cobrança, mas pode acontecer de outro CPF
                realizar, efetivamente, o pagamento do documento. Não é
                permitido que o campo `devedor.cpf` e campo `devedor.cnpj`
                estejam preenchidos ao mesmo tempo. Se o campo `devedor.cnpj`
                está preenchido, então o campo `devedor.cpf` não pode estar
                preenchido, e vice-versa. Se o campo `devedor.nome` está
                preenchido, então deve existir ou um `devedor.cpf` ou um campo
                `devedor.cnpj` preenchido.
              oneOf:
                - $ref: '#/components/schemas/PessoaFisica'
                - $ref: '#/components/schemas/PessoaJuridica'
        - $ref: '#/components/schemas/DadosRecebedor'
        - type: object
          properties:
            txid:
              $ref: '#/components/schemas/TxId'
            revisao:
              $ref: '#/components/schemas/Revisao'
        - type: object
          properties:
            status:
              $ref: '#/components/schemas/CobrancaStatus'
        - type: object
          properties:
            valor:
              $ref: '#/components/schemas/CobVPayloadValor'
        - $ref: '#/components/schemas/CobBase'
    CobPayload:
      type: object
      title: Payload JSON da cobrança imediata
      description: Dados da cobrança imediata acessados pelo payload JSON
      required:
        - txid
        - calendario
        - revisao
        - status
        - valor
        - chave
      allOf:
        - type: object
          properties:
            calendario:
              title: Calendário
              description: >-
                Os campos aninhados sob o identificador calendário organizam
                informações a respeito de controle de tempo da cobrança.
              required:
                - criacao
                - apresentacao
                - expiracao
              allOf:
                - $ref: '#/components/schemas/CobCriacao'
                - $ref: '#/components/schemas/CobApresentacao'
                - $ref: '#/components/schemas/CobExpiracao'
            txid:
              $ref: '#/components/schemas/TxId'
            revisao:
              $ref: '#/components/schemas/Revisao'
        - type: object
          properties:
            devedor:
              description: >-
                Os campos aninhados sob o objeto devedor são opcionais e
                identificam o devedor, ou seja, a pessoa ou a instituição a quem
                a cobrança está endereçada. Não identifica, necessariamente,
                quem irá efetivamente realizar o pagamento. Um CPF pode ser o
                devedor de uma cobrança, mas pode acontecer de outro CPF
                realizar, efetivamente, o pagamento do documento. Não é
                permitido que o campo `devedor.cpf` e campo `devedor.cnpj`
                estejam preenchidos ao mesmo tempo. Se o campo `devedor.cnpj`
                está preenchido, então o campo `devedor.cpf` não pode estar
                preenchido, e vice-versa. Se o campo `devedor.nome` está
                preenchido, então deve existir ou um `devedor.cpf` ou um campo
                `devedor.cnpj` preenchido.
              oneOf:
                - $ref: '#/components/schemas/PessoaFisica'
                - $ref: '#/components/schemas/PessoaJuridica'
        - type: object
          properties:
            status:
              $ref: '#/components/schemas/CobrancaStatus'
        - type: object
          properties:
            valor:
              $ref: '#/components/schemas/CobPayloadValor'
        - $ref: '#/components/schemas/CobBase'
    PayloadLocation:
      type: object
      title: Location do Payload
      description: Identificador da localização do payload.
      required:
        - id
        - location
        - tipoCob
        - criacao
      properties:
        id:
          $ref: '#/components/schemas/PayloadLocationId'
        location:
          type: string
          title: Localização do payload
          description: Localização do Payload a ser informada na criação da cobrança.
          maxLength: 77
          format: uri
          example: pix.example.com/qr/v2/2353c790eefb11eaadc10242ac120002
          readOnly: true
        tipoCob:
          type: string
          title: Tipo da cobrança
          enum:
            - cob
            - cobv
        criacao:
          type: string
          format: date-time
          title: Data de Criação
          description: Data e hora em que a location foi criada. Respeita RFC 3339.
          readOnly: true
    PayloadLocationSolicitada:
      type: object
      title: Location do Payload Solicitada
      description: Identificador da localização do payload solicitada.
      required:
        - tipoCob
      properties:
        tipoCob:
          type: string
          title: Tipo da cobrança
          enum:
            - cob
            - cobv
    PayloadLocationRecSolicitada:
      type: object
      title: Location do Payload Solicitada
      description: Identificador da localização do payload solicitada.
      required:
        - tipo
      properties:
        tipo:
          type: string
          title: Tipo da cobrança
          enum:
            - rec
    PayloadLocationRecGerada:
      type: object
      title: Location do Payload Completa
      description: Identificador da localização do payload completo.
      required:
        - id
        - location
        - tipo
        - criacao
      properties:
        id:
          $ref: '#/components/schemas/PayloadLocationRecId'
        location:
          type: string
          title: Localização do payload
          description: Localização do Payload a ser informada na criação da recorrência.
          maxLength: 77
          format: uri
          example: pix.example.com/qr/v2/rec/2353c790eefb11eaadc10242ac120002
          readOnly: true
        criacao:
          type: string
          format: date-time
          title: Data de Criação
          description: Data e hora em que a location foi criada. Respeita RFC 3339.
          readOnly: true
    PayloadLocationRecCompleta:
      type: object
      title: Location do Payload Completa
      description: Identificador da localização do payload completo.
      allOf:
        - $ref: '#/components/schemas/PayloadLocationRecGerada'
        - type: object
          properties:
            idRec:
              $ref: '#/components/schemas/RecId'
    PayloadLocationCompleta:
      type: object
      title: Location do Payload Completa
      description: Identificador da localização do payload completo.
      required:
        - id
        - location
        - tipoCob
        - criacao
      properties:
        id:
          $ref: '#/components/schemas/PayloadLocationId'
        txid:
          $ref: '#/components/schemas/TxId'
        location:
          type: string
          title: Localização do payload
          description: Localização do Payload a ser informada na criação da cobrança.
          maxLength: 77
          format: uri
          example: pix.example.com/qr/v2/2353c790eefb11eaadc10242ac120002
          readOnly: true
        tipoCob:
          type: string
          title: Tipo da cobrança
          enum:
            - cob
            - cobv
        criacao:
          type: string
          format: date-time
          title: Data de Criação
          description: Data e hora em que a location foi criada. Respeita RFC 3339.
          readOnly: true
    PayloadLocationCob:
      type: object
      title: Location do Payload
      required:
        - id
      description: Identificador da localização do payload.
      properties:
        id:
          $ref: '#/components/schemas/PayloadLocationId'
    ParametrosConsultaRec:
      type: object
      title: Parâmetros de Consulta de Recorrências
      description: Parâmetros utilizados para a realização de uma consulta de recorrências.
      required:
        - inicio
        - fim
        - paginacao
      properties:
        inicio:
          type: string
          format: date-time
          title: Data de Início
          description: Data inicial utilizada na consulta. Respeita RFC 3339.
          example: '2020-04-01T00:00:00Z'
        fim:
          type: string
          format: date-time
          title: Data de Fim
          description: Data de fim utilizada na consulta. Respeita RFC 3339.
          example: '2020-04-01T17:00:00Z'
        cpf:
          type: string
          title: CPF
          pattern: /^\d{11}$/
          description: >-
            Filtro pelo CPF do devedor. Não pode ser utilizado ao mesmo tempo
            que o CNPJ.
        cnpj:
          type: string
          title: CNPJ
          pattern: /^\d{14}$/
          description: >-
            Filtro pelo CNPJ do devedor. Não pode ser utilizado ao mesmo tempo
            que o CPF.
        locationPresente:
          type: boolean
          description: Filtro pela existência de location vinculada.
        status:
          type: string
          title: Status do registro da recorrência
          description: Filtro pelo status das recorrências.
        recebedor:
          type: object
          title: Recebedor
          properties:
            convenio:
              type: string
              title: Convênio
              description: Convênio entre usuário e participante recebedor.
              maxLength: 60
        paginacao:
          $ref: '#/components/schemas/Paginacao'
    ParametrosConsultaCob:
      type: object
      title: Parâmetros de Consulta de Cobrança
      description: >-
        [DEPRECADO] Parâmetros utilizados para a realização de uma consulta de
        cobranças.
      required:
        - inicio
        - fim
        - paginacao
      properties:
        inicio:
          type: string
          format: date-time
          title: Data de Início
          description: Data inicial utilizada na consulta. Respeita RFC 3339.
          example: '2020-04-01T00:00:00Z'
        fim:
          type: string
          format: date-time
          title: Data de Fim
          description: Data de fim utilizada na consulta. Respeita RFC 3339.
          example: '2020-04-01T17:00:00Z'
        cpf:
          type: string
          title: CPF
          pattern: /^\d{11}$/
          description: >-
            Filtro pelo CPF do devedor. Não pode ser utilizado ao mesmo tempo
            que o CNPJ.
        cnpj:
          type: string
          title: CNPJ
          pattern: /^\d{14}$/
          description: >-
            Filtro pelo CNPJ do devedor. Não pode ser utilizado ao mesmo tempo
            que o CPF.
        locationPresente:
          type: boolean
          description: Filtro pela existência de location vinculada.
        status:
          type: string
          title: Status do registro da cobrança
          description: Filtro pelo status das cobranças.
        paginacao:
          $ref: '#/components/schemas/Paginacao'
    ParametrosConsultaCobR:
      type: object
      title: Parâmetros de Consulta de Cobrança
      description: Parâmetros utilizados para a realização de uma consulta de cobranças.
      required:
        - inicio
        - fim
        - paginacao
      properties:
        inicio:
          type: string
          format: date-time
          title: Data de Início
          description: Data inicial utilizada na consulta. Respeita RFC 3339.
          example: '2020-04-01T00:00:00Z'
        fim:
          type: string
          format: date-time
          title: Data de Fim
          description: Data de fim utilizada na consulta. Respeita RFC 3339.
          example: '2020-04-01T17:00:00Z'
        idRec:
          $ref: '#/components/schemas/RecId'
        cpf:
          type: string
          title: CPF
          pattern: /^\d{11}$/
          description: >-
            Filtro pelo CPF do devedor. Não pode ser utilizado ao mesmo tempo
            que o CNPJ.
        cnpj:
          type: string
          title: CNPJ
          pattern: /^\d{14}$/
          description: >-
            Filtro pelo CNPJ do devedor. Não pode ser utilizado ao mesmo tempo
            que o CPF.
        status:
          type: string
          title: Status do registro da cobrança
          description: Filtro pelo status das cobranças.
        recebedor:
          type: object
          title: Recebedor
          properties:
            convenio:
              type: string
              title: Convênio
              description: Convênio entre usuário e participante recebedor.
              maxLength: 60
        paginacao:
          $ref: '#/components/schemas/Paginacao'
    ParametrosConsultaLote:
      type: object
      title: Parâmetros de consulta de lotes de cobrança com vencimento.
      description: >-
        Parâmetros utilizados para a realização de uma consulta de lote de
        cobranças com vencimento.
      required:
        - inicio
        - fim
        - paginacao
      properties:
        inicio:
          type: string
          format: date-time
          title: Data de Início
          description: Data inicial utilizada na consulta. Respeita RFC 3339.
          example: '2020-04-01T00:00:00Z'
        fim:
          type: string
          format: date-time
          title: Data de Fim
          description: Data de fim utilizada na consulta. Respeita RFC 3339.
          example: '2020-04-01T17:00:00Z'
        paginacao:
          $ref: '#/components/schemas/Paginacao'
    CobsVConsultadas:
      type: object
      title: Cobranças com vencimento consultadas
      required:
        - parametros
        - cobs
      properties:
        parametros:
          $ref: '#/components/schemas/ParametrosConsultaCob'
        cobs:
          type: array
          title: Lista de cobranças
          items:
            allOf:
              - $ref: '#/components/schemas/CobVCompleta'
              - required:
                  - status
                  - txid
                  - idCob
    CobsConsultadas:
      type: object
      title: Cobranças imediatas consultadas
      required:
        - parametros
        - cobs
      properties:
        parametros:
          $ref: '#/components/schemas/ParametrosConsultaCob'
        cobs:
          type: array
          title: Lista de cobranças
          items:
            allOf:
              - $ref: '#/components/schemas/CobCompleta'
              - required:
                  - status
                  - txid
                  - idCob
    CobsRConsultadas:
      type: object
      title: Cobranças recorrentes consultadas
      required:
        - parametros
        - cobsr
      properties:
        parametros:
          $ref: '#/components/schemas/ParametrosConsultaCobR'
        cobsr:
          type: array
          title: Lista de cobranças
          items:
            allOf:
              - $ref: '#/components/schemas/CobRCompleta'
    RecsConsultadas:
      type: object
      title: Recorrencias consultadas
      required:
        - parametros
        - recs
      properties:
        parametros:
          $ref: '#/components/schemas/ParametrosConsultaRec'
        recs:
          type: array
          title: Lista de recorrências
          items:
            allOf:
              - $ref: '#/components/schemas/RecCompletaPesquisada'
    Pix:
      type: object
      title: Pix
      required:
        - endToEndId
        - valor
        - horario
      properties:
        endToEndId:
          $ref: '#/components/schemas/EndToEndId'
        txid:
          allOf:
            - $ref: '#/components/schemas/TxId'
            - pattern: '[a-zA-Z0-9]{1,35}'
        valor:
          type: string
          title: Valor do Pix.
          pattern: \d{1,10}\.\d{2}
          description: Valor do Pix.
        chave:
          type: string
          title: Chave DICT do recebedor
        horario:
          type: string
          format: date-time
          title: Horário
          description: Horário em que o Pix foi processado no PSP.
        infoPagador:
          type: string
          title: Informação livre do pagador
          maxLength: 140
        devolucoes:
          type: array
          title: Devoluções
          items:
            $ref: '#/components/schemas/Devolucao'
    PixAutomatico:
      type: object
      title: Pix
      required:
        - txid
        - endToEndId
        - valor
        - horario
      properties:
        endToEndId:
          $ref: '#/components/schemas/EndToEndId'
        txid:
          allOf:
            - $ref: '#/components/schemas/TxId'
            - pattern: '[a-zA-Z0-9]{1,35}'
        valor:
          type: string
          title: Valor do Pix.
          pattern: \d{1,10}\.\d{2}
          description: Valor do Pix.
          anyOf:
            - $ref: '#/components/schemas/PixValorOriginal'
            - $ref: '#/components/schemas/PixValorJuros'
            - $ref: '#/components/schemas/PixValorMulta'
            - $ref: '#/components/schemas/PixValorAbatimento'
            - $ref: '#/components/schemas/PixValorDesconto'
        horario:
          type: string
          format: date-time
          title: Horário
          description: Horário em que o Pix foi processado no PSP.
        infoPagador:
          type: string
          title: Informação livre do pagador
          maxLength: 140
        devolucoes:
          type: array
          title: Devoluções
          items:
            $ref: '#/components/schemas/DevolucaoPixAutomatico'
    PixValorOriginal:
      type: object
      properties:
        original:
          type: object
          required:
            - valor
          properties:
            valor:
              type: string
              title: Valor original
              description: Valor original do Pix.
              pattern: \d{1,10}\.\d{2}
    PixValorSaque:
      type: object
      properties:
        saque:
          type: object
          required:
            - valor
            - modalidadeAgente
            - prestadorDoServicoDeSaque
          properties:
            valor:
              type: string
              title: Valor do Saque Pix
              description: Valor do Saque Pix.
              pattern: \d{1,10}\.\d{2}
            modalidadeAgente:
              type: string
              title: Modalidade do Agente
              description: >
                ##### Modalidade do Agente

                <table><tr><th>SIGLA</th><th>Descrição</th></tr><tr><td>AGTEC</td><td>Agente
                Estabelecimento Comercial</td></tr><tr><td>AGTOT</td><td>Agente
                Outra Espécie de Pessoa Jurídica ou Correspondente no
                País</td></tr><tr><td>AGPSS</td><td>Agente Facilitador de
                Serviço de Saque (<b>ATENÇÃO</b>: no mapeamento para o campo
                'modalidadeAgente', da pacs.008, esse valor deve ser substituído
                por <b>AGFSS</b>)</td></tr></table>
              enum:
                - AGTEC
                - AGTOT
                - AGPSS
            prestadorDoServicoDeSaque:
              type: string
              title: Facilitador de Serviço de Saque
              pattern: \d{8}
              description: ISPB do Facilitador de Serviço de Saque
    PixValorTroco:
      type: object
      properties:
        troco:
          type: object
          required:
            - valor
            - modalidadeAgente
            - prestadorDoServicoDeSaque
          properties:
            valor:
              type: string
              title: Valor do Troco Pix
              description: Valor do Troco Pix.
              pattern: \d{1,10}\.\d{2}
            modalidadeAgente:
              type: string
              title: Modalidade do Agente
              description: >
                ##### Modalidade do Agente

                <table><tr><th>SIGLA</th><th>Descrição</th></tr><tr><td>AGTEC</td><td>Agente
                Estabelecimento Comercial</td></tr><tr><td>AGTOT</td><td>Agente
                Outra Espécie de Pessoa Jurídica ou Correspondente no
                País</td></tr></table>
              enum:
                - AGTEC
                - AGTOT
            prestadorDoServicoDeSaque:
              type: string
              title: Facilitador de Serviço de Saque
              pattern: \d{8}
              description: ISPB do Facilitador de Serviço de Saque
    PixValorJuros:
      type: object
      properties:
        juros:
          type: object
          required:
            - valor
          properties:
            valor:
              type: string
              title: Valor relativo aos juros.
              description: Valor dos juros.
              pattern: \d{1,10}\.\d{2}
    PixValorMulta:
      type: object
      properties:
        multa:
          type: object
          required:
            - valor
          properties:
            valor:
              type: string
              title: Valor relativo a multa.
              description: Valor da multa.
              pattern: \d{1,10}\.\d{2}
    PixValorDesconto:
      type: object
      properties:
        desconto:
          type: object
          required:
            - valor
          properties:
            valor:
              type: string
              title: Valor relativo a desconto.
              description: Valor do desconto.
              pattern: \d{1,10}\.\d{2}
    PixValorAbatimento:
      type: object
      properties:
        abatimento:
          type: object
          required:
            - valor
          properties:
            valor:
              type: string
              title: Valor relativo a abatimento.
              description: Valor do abatimento.
              pattern: \d{1,10}\.\d{2}
    Devolucao:
      type: object
      title: Devolução
      required:
        - id
        - rtrId
        - valor
        - horario
        - status
      properties:
        id:
          $ref: '#/components/schemas/DevolucaoId'
        rtrId:
          type: string
          title: RtrId
          description: ReturnIdentification que transita na PACS004.
          example: D12345678202009091000abcde123456
          pattern: '[a-zA-Z0-9]{32}'
          minLength: 32
          maxLength: 32
        valor:
          type: string
          title: Valor a devolver.
          pattern: \d{1,10}\.\d{2}
          description: Valor a devolver.
        natureza:
          $ref: '#/components/schemas/DevolucaoNatureza'
        descricao:
          type: string
          title: Mensagem ao pagador relativa à devolução.
          maxLength: 140
          description: >-
            O campo `descricao`, opcional, determina um texto a ser apresentado
            ao pagador contendo informações sobre a devolução. Esse texto será
            preenchido, na pacs.004, pelo PSP do recebedor, no campo
            RemittanceInformation. O tamanho do campo na pacs.004 está limitado
            a 140 caracteres.
        horario:
          type: object
          properties:
            solicitacao:
              type: string
              format: date-time
              title: Horário de solicitação
              description: Horário no qual a devolução foi solicitada no PSP.
            liquidacao:
              type: string
              format: date-time
              title: Horário de liquidacao
              description: Horário no qual a devolução foi liquidada no PSP.
        status:
          type: string
          title: Status
          description: Status da devolução.
          enum:
            - EM_PROCESSAMENTO
            - DEVOLVIDO
            - NAO_REALIZADO
        motivo:
          type: string
          title: Descrição do status.
          description: >
            # Status da Devolução


            Campo opcional que pode ser utilizado pelo PSP recebedor para
            detalhar os motivos

            de a devolução ter atingido o status em questão.

            Pode ser utilizado, por exemplo, para detalhar o motivo de a
            devolução não ter sido realizada.
          maxLength: 140
    DevolucaoPixAutomatico:
      type: object
      title: Devolução
      required:
        - id
        - rtrId
        - valor
        - horario
        - status
      properties:
        id:
          $ref: '#/components/schemas/DevolucaoId'
        rtrId:
          type: string
          title: RtrId
          description: ReturnIdentification que transita na PACS004.
          example: D12345678202009091000abcde123456
          pattern: '[a-zA-Z0-9]{32}'
          minLength: 32
          maxLength: 32
        valor:
          type: string
          title: Valor a devolver.
          pattern: \d{1,10}\.\d{2}
          description: Valor a devolver.
        natureza:
          $ref: '#/components/schemas/DevolucaoNaturezaPixAutomatico'
        descricao:
          type: string
          title: Mensagem ao pagador relativa à devolução.
          maxLength: 140
          description: >-
            O campo `descricao`, opcional, determina um texto a ser apresentado
            ao pagador contendo informações sobre a devolução. Esse texto será
            preenchido, na pacs.004, pelo PSP do recebedor, no campo
            RemittanceInformation. O tamanho do campo na pacs.004 está limitado
            a 140 caracteres.
        horario:
          type: object
          properties:
            solicitacao:
              type: string
              format: date-time
              title: Horário de solicitação
              description: Horário no qual a devolução foi solicitada no PSP.
            liquidacao:
              type: string
              format: date-time
              title: Horário de liquidacao
              description: Horário no qual a devolução foi liquidada no PSP.
        status:
          type: string
          title: Status
          description: Status da devolução.
          enum:
            - EM_PROCESSAMENTO
            - DEVOLVIDO
            - NAO_REALIZADO
        motivo:
          type: string
          title: Descrição do status.
          description: >
            # Status da Devolução


            Campo opcional que pode ser utilizado pelo PSP recebedor para
            detalhar os motivos

            de a devolução ter atingido o status em questão.

            Pode ser utilizado, por exemplo, para detalhar o motivo de a
            devolução não ter sido realizada.
          maxLength: 140
    DevolucaoSolicitada:
      type: object
      required:
        - valor
      properties:
        valor:
          type: string
          title: Valor
          pattern: \d{1,10}\.\d{2}
          description: >-
            Valor solicitado para devolução. A soma dos valores de todas as
            devolucões não podem ultrapassar o valor total do Pix.
        natureza:
          $ref: '#/components/schemas/DevolucaoSolicitadaNatureza'
        descricao:
          type: string
          title: Mensagem ao pagador relativa à devolução.
          description: >-
            O campo `descricao`, opcional, determina um texto a ser apresentado
            ao pagador contendo informações sobre a devolução. Esse texto será
            preenchido, na pacs.004, pelo PSP do recebedor, no campo
            RemittanceInformation. O tamanho do campo na pacs.004 está limitado
            a 140 caracteres.
          maxLength: 140
    ParametrosConsultaPayloadLocation:
      type: object
      title: Parâmetros de consulta de locations
      description: Parâmetros utilizados para a realização de uma consulta de locations.
      required:
        - inicio
        - fim
        - paginacao
      properties:
        inicio:
          type: string
          format: date-time
          title: Data de Início
          description: Data inicial utilizada na consulta. Respeita RFC 3339.
          example: '2020-01-01T00:00:00Z'
        fim:
          type: string
          format: date-time
          title: Data de Fim
          description: Data de fim utilizada na consulta. Respeita RFC 3339.
          example: '2020-12-01T17:00:00Z'
        txIdPresente:
          type: boolean
          description: Filtro pela existência de txid.
        tipoCob:
          type: string
          enum:
            - cob
            - cobv
        paginacao:
          $ref: '#/components/schemas/Paginacao'
    ParametrosConsultaPayloadLocationRec:
      type: object
      title: Parâmetros de consulta de locations
      description: Parâmetros utilizados para a realização de uma consulta de locations.
      required:
        - inicio
        - fim
        - paginacao
      properties:
        inicio:
          type: string
          format: date-time
          title: Data de Início
          description: Data inicial utilizada na consulta. Respeita RFC 3339.
          example: '2020-01-01T00:00:00Z'
        fim:
          type: string
          format: date-time
          title: Data de Fim
          description: Data de fim utilizada na consulta. Respeita RFC 3339.
          example: '2020-12-01T17:00:00Z'
        idRecPresente:
          type: boolean
          description: Filtro pela existência de id da recorrência.
        recebedor:
          type: object
          title: Recebedor
          properties:
            convenio:
              type: string
              title: Convênio
              description: Convênio entre usuário e participante recebedor.
              maxLength: 60
        paginacao:
          $ref: '#/components/schemas/Paginacao'
    PayloadLocationConsultadas:
      type: object
      title: Locations Consultadas
      required:
        - parametros
        - loc
      properties:
        parametros:
          $ref: '#/components/schemas/ParametrosConsultaPayloadLocation'
        loc:
          type: array
          title: Lista de locations cadastradas
          items:
            allOf:
              - $ref: '#/components/schemas/PayloadLocationCompleta'
    PayloadLocationRecConsultadas:
      type: object
      title: Locations Consultadas
      required:
        - parametros
        - loc
      properties:
        parametros:
          $ref: '#/components/schemas/ParametrosConsultaPayloadLocationRec'
        loc:
          type: array
          title: Lista de locations cadastradas
          items:
            allOf:
              - $ref: '#/components/schemas/PayloadLocationRecCompleta'
    ParametrosConsultaPix:
      type: object
      title: Parâmetros de Consulta Pix
      description: Parâmetros utilizados para a realização de uma consulta de Pix.
      required:
        - inicio
        - fim
        - paginacao
      properties:
        inicio:
          type: string
          format: date-time
          title: Data de Início
          description: Data inicial utilizada na consulta. Respeita RFC 3339.
          example: '2020-01-01T00:00:00Z'
        fim:
          type: string
          format: date-time
          title: Data de Fim
          description: Data de fim utilizada na consulta. Respeita RFC 3339.
          example: '2020-12-01T17:00:00Z'
        txid:
          allOf:
            - $ref: '#/components/schemas/TxId'
            - pattern: '[a-zA-Z0-9]{1,35}'
        txIdPresente:
          type: boolean
          description: Filtro pela existência de txid.
        devolucaoPresente:
          type: boolean
          description: Filtro pela existência de devolução.
        cpf:
          type: string
          pattern: /^\d{11}$/
          description: CPF
        cnpj:
          type: string
          pattern: /^\d{14}$/
          description: CNPJ
        paginacao:
          $ref: '#/components/schemas/Paginacao'
    ParametrosConsultaWebhooks:
      type: object
      title: Parâmetros de Consulta de Webhooks
      description: Parâmetros utilizados para a realização de uma consulta de Webhooks.
      properties:
        inicio:
          type: string
          format: date-time
          title: Data de Início
          description: Data inicial utilizada na consulta. Respeita RFC 3339.
          example: '2020-01-01T00:00:00Z'
        fim:
          type: string
          format: date-time
          title: Data de Fim
          description: Data de fim utilizada na consulta. Respeita RFC 3339.
          example: '2020-12-01T17:00:00Z'
        paginacao:
          $ref: '#/components/schemas/Paginacao'
    PixConsultados:
      type: object
      title: Pix Consultados
      required:
        - parametros
        - cobs
      properties:
        parametros:
          $ref: '#/components/schemas/ParametrosConsultaPix'
        pix:
          type: array
          title: Lista de Pix recebidos
          items:
            allOf:
              - $ref: '#/components/schemas/Pix'
    WebhooksConsultados:
      type: object
      title: Webhooks Consultados
      required:
        - webhooks
      properties:
        parametros:
          $ref: '#/components/schemas/ParametrosConsultaWebhooks'
        webhooks:
          type: array
          title: Lista de Webhooks consultados
          items:
            allOf:
              - $ref: '#/components/schemas/WebhookCompleto'
    WebhooksRecConsultados:
      type: object
      title: Webhooks de Recorrências Consultados
      required:
        - webhooksrec
      properties:
        parametros:
          $ref: '#/components/schemas/ParametrosConsultaWebhooks'
        webhooksrec:
          type: array
          title: Lista de Webhooks de Recorrências consultados
          items:
            allOf:
              - $ref: '#/components/schemas/WebhookRecCompleto'
    Paginacao:
      type: object
      title: Paginação
      required:
        - paginaAtual
        - itensPorPagina
        - quantidadeDePaginas
        - quantidadeTotalDeItens
      properties:
        paginaAtual:
          type: integer
          title: Página atual
          description: Número da página recuperada.
          minimum: 0
        itensPorPagina:
          type: integer
          title: Itens por página
          description: Quantidade de registros retornado na página.
          minimum: 1
        quantidadeDePaginas:
          type: integer
          title: Quantidade de páginas
          description: Quantidade de páginas disponíveis para consulta.
          minimum: 1
        quantidadeTotalDeItens:
          type: integer
          title: Quantidade total de itens
          description: >-
            Quantidade total de itens disponíveis de acordo com os parâmetros
            informados.
          minimum: 0
    Violacao:
      type: object
      title: Violações
      properties:
        razao:
          type: string
          title: Descrição do erro
          description: Descrição do erro
          example: Valor da cobrança não pode ser 0.00
        propriedade:
          type: string
          title: Nome da propriedade
          description: Nome da propriedade
          example: cob.chave
        valor:
          type: string
          title: Valor da propriedade
          description: Valor da propriedade
          example: '061996671234'
    Problema:
      type: object
      required:
        - type
        - title
        - status
      properties:
        type:
          type: string
          format: uri
          description: >-
            URI de referência que identifica o tipo de problema. De acordo com a
            RFC 7807.
          example: https://pix.bcb.gov.br/api/v2/error/NaoEncontrado
        title:
          type: string
          description: Descrição resumida do problema.
          example: Not found
        status:
          type: integer
          description: Código HTTP do status retornado.
          example: 404
        detail:
          type: string
          description: Descrição completa do problema.
        correlationId:
          type: string
          description: Identificador de correlação do problema para fins de suporte
        violacoes:
          type: array
          items:
            $ref: '#/components/schemas/Violacao'
    Inicio:
      type: string
      format: date-time
      title: Data de início
      description: >-
        Filtra os registros cuja data de criação seja maior ou igual que a data
        de início. Respeita RFC 3339.
    Fim:
      type: string
      format: date-time
      title: Data de fim
      description: >-
        Filtra os registros cuja data de criação seja menor ou igual que a data
        de fim. Respeita RFC 3339.
  parameters:
    paginaAtual:
      in: query
      name: paginacao.paginaAtual
      required: false
      schema:
        type: integer
        format: int32
        title: Página atual
        minimum: 0
        default: 0
        description: >-
          Página a ser retornada pela consulta. Se não for informada, o PSP
          assumirá que será 0.
    itensPorPagina:
      in: query
      name: paginacao.itensPorPagina
      required: false
      schema:
        type: integer
        format: int32
        title: Itens por Página
        minimum: 1
        maximum: 1000
        default: 100
        description: >-
          Quantidade máxima de registros retornados em cada página. Apenas a
          última página pode conter uma quantidade menor de registros.
  responses:
    RequisicaoInvalida:
      description: Problemas na requisição.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Problema'
    NaoEncontrado:
      description: Recurso solicitado não foi encontrado.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problema'
          examples:
            exemplo1:
              $ref: '#/components/examples/NaoEncontradoExample1'
    AcessoNegado:
      description: >-
        Requisição de participante autenticado que viola alguma regra de
        autorização.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problema'
          examples:
            exemplo1:
              $ref: '#/components/examples/AcessoNegadoExample1'
    ServicoIndisponivel:
      description: >-
        Serviço não está disponível no momento. Serviço solicitado pode estar em
        manutenção ou fora da janela de funcionamento.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problema'
          examples:
            exemplo1:
              $ref: '#/components/examples/ServicoIndisponivelExample1'
