Citi Payment Acceptance APIs

Collections and payment acceptance: online payment acceptance, direct debit and e-mandates, PayerID management, Brazil PIX dynamic and due-date collections, and instant direct debit. Citi publishes 10 machine-readable specifications for this family covering 44 operations, served from developer.citi.com.

Operations 17

GET /digitalpayments/br/v1/rec/{idRec} Consultar recorrência.
PATCH /digitalpayments/br/v1/rec/{idRec} Revisar recorrência.
GET /digitalpayments/br/v1/rec Consultar lista de recorrências.
POST /digitalpayments/br/v1/rec Criar recorrência.
POST /digitalpayments/br/v1/solicrec Criar solicitação de confirmação de recorrência.
GET /digitalpayments/br/v1/solicrec/{idSolicRec} Consultar solicitação de confirmação de recorrência.
PATCH /digitalpayments/br/v1/solicrec/{idSolicRec} Revisar solicitação de confirmação de recorrência.
PUT /digitalpayments/br/v1/cobr/{txid} Criar cobrança recorrente.
PATCH /digitalpayments/br/v1/cobr/{txid} Revisar cobrança recorrente.
GET /digitalpayments/br/v1/cobr/{txid} Consultar cobrança recorrente.
POST /digitalpayments/br/v1/cobr Criar cobrança recorrente.
GET /digitalpayments/br/v1/cobr Consultar lista de cobranças recorrentes.
POST /digitalpayments/br/v1/cobr/{txid}/retentativa/{data} Solicitar retentativa de cobrança.
PUT /digitalpayments/br/v1/pix/{e2eid}/devolucao/{id} Solicitar devolução.
PUT /webhook/{chave} Configurar o Webhook Pix.
PUT /webhookrec Configurar Webhook.
PUT /webhookcobr Configurar Webhook.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/citi-payment-acceptance-apis"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

citi-brazillocalmandate-openapi.yaml Raw ↑
openapi: 3.0.0
info:
  title: API Pix
  version: 2.8.1
  description: |
    Update - February 04, 2026
servers:
  - url: https://tts.apib2b.citi.com/citiconnect/prod
    description: Servidor de Produção
  - url: https://tts.sandbox.apib2b.citi.com/citiconnect/sb
    description: sbox URL
  - url: https://tts.sit.apib2b.citi.com/citiconnect/uat
    description: Servidor de Homologação
tags:
  - 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: 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:
  /digitalpayments/br/v1/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:
        - $ref: '#/components/parameters/Client-Id'
        - name: txid
          in: query
          required: false
          schema:
            type: string
            title: TxId da cobrança associada a recorrência.
      summary: Consultar recorrência.
      security:
        - OAuth2:
            - authenticationservices/v1
      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'
                response6:
                  $ref: '#/components/examples/recResponse8'
        '403':
          $ref: '#/components/responses/AcessoNegado'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '503':
          $ref: '#/components/responses/ServicoIndisponivel'
    patch:
      tags:
        - Rec
      parameters:
        - $ref: '#/components/parameters/Client-Id'
      summary: Revisar recorrência.
      security:
        - OAuth2:
            - authenticationservices/v1
      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'
  /digitalpayments/br/v1/rec:
    get:
      parameters:
        - $ref: '#/components/parameters/Client-Id'
        - 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:
            - authenticationservices/v1
      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
      parameters:
        - $ref: '#/components/parameters/Client-Id'
      summary: Criar recorrência.
      security:
        - OAuth2:
            - authenticationservices/v1
      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'
  /digitalpayments/br/v1/solicrec:
    post:
      tags:
        - SolicRec
      parameters:
        - $ref: '#/components/parameters/Client-Id'
      summary: Criar solicitação de confirmação de recorrência.
      security:
        - OAuth2:
            - authenticationservices/v1
      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'
  /digitalpayments/br/v1/solicrec/{idSolicRec}:
    parameters:
      - name: idSolicRec
        in: path
        required: true
        schema:
          type: string
          title: Id da solicitação da recorrência
    get:
      tags:
        - SolicRec
      parameters:
        - $ref: '#/components/parameters/Client-Id'
      summary: Consultar solicitação de confirmação de recorrência.
      security:
        - OAuth2:
            - authenticationservices/v1
      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
      parameters:
        - $ref: '#/components/parameters/Client-Id'
      summary: Revisar solicitação de confirmação de recorrência.
      security:
        - OAuth2:
            - authenticationservices/v1
      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'
  /digitalpayments/br/v1/cobr/{txid}:
    parameters:
      - name: txid
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/TxId'
    put:
      tags:
        - CobR
      parameters:
        - $ref: '#/components/parameters/Client-Id'
      summary: Criar cobrança recorrente.
      security:
        - OAuth2:
            - authenticationservices/v1
      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
      parameters:
        - $ref: '#/components/parameters/Client-Id'
      summary: Revisar cobrança recorrente.
      security:
        - OAuth2:
            - authenticationservices/v1
      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
      parameters:
        - $ref: '#/components/parameters/Client-Id'
      summary: Consultar cobrança recorrente.
      security:
        - OAuth2:
            - authenticationservices/v1
      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'
  /digitalpayments/br/v1/cobr:
    post:
      tags:
        - CobR
      parameters:
        - $ref: '#/components/parameters/Client-Id'
      summary: Criar cobrança recorrente.
      security:
        - OAuth2:
            - authenticationservices/v1
      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:
        - $ref: '#/components/parameters/Client-Id'
        - 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:
            - authenticationservices/v1
      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'
  /digitalpayments/br/v1/cobr/{txid}/retentativa/{data}:
    parameters:
      - $ref: '#/components/parameters/Client-Id'
      - 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:
            - authenticationservices/v1
      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'
  /digitalpayments/br/v1/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:
            - authenticationservices/v1
      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'
  /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.
        '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:
        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
  /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:
            - authenticationservices/v1
      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
  /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
components:
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: /authenticationservices/v3/oauth/token
          tokenUrl: /authenticationservices/v3/oauth/token
          scopes:
            authenticationservices/v1: Grant read-only access to payment initation service
  examples:
    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: false
        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: false
        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: false
        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: false
        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: RN985156112024071999000

# --- truncated at 32 KB (151 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-brazillocalmandate-openapi.yaml