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

# 9 - Beneficiary Registration

> <p>Scopes:</p>
<b>api.pix api.favorecidopix.cadastrar</b>

Through this endpoint, the partner can request the registration of the beneficiary, that is, the person who will receive the funds transferred via PIX key or bank details.

<Warning>
  After submitting the request, the Digital Bank team will analyze the beneficiary and proceed with approval or rejection if there are any issues.

  If the partner wishes to opt for automatic approval of the beneficiary, it must be requested via a ticket on the Heflo platform to the Digital Bank team. Please note that this does not exempt the possibility of rejection if an issue arises for the beneficiary.
</Warning>


## OpenAPI

````yaml post /api/Favorecido
openapi: 3.0.1
info:
  title: BMPSPBExt
  description: '<p><strong>Build Number: </strong>#0.0</p>'
  version: v1
servers:
  - url: https://api.ext.dbs.moneyp.dev.br/
    description: Localhost
security:
  - Bearer: []
paths:
  /api/Favorecido:
    post:
      tags:
        - Favorecido
      summary: Cadastra um Favorecido
      description: "<p>Scopes:</p>\r\n<b>api.ext api.favorecido.cadastrar</b>"
      parameters:
        - name: IdempotencyKey
          in: header
          required: true
          schema:
            type: string
        - name: IgnoraHandshake
          in: header
          description: (somente em homologação)
          required: true
          schema:
            type: boolean
            default: true
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: >-
                    #/components/schemas/BMPSPB.Domain.Messaging.API.Externa.Favorecido.FavorecidoRequest
          text/json:
            schema:
              allOf:
                - $ref: >-
                    #/components/schemas/BMPSPB.Domain.Messaging.API.Externa.Favorecido.FavorecidoRequest
          application/*+json:
            schema:
              allOf:
                - $ref: >-
                    #/components/schemas/BMPSPB.Domain.Messaging.API.Externa.Favorecido.FavorecidoRequest
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/BMPSPB.Domain.Messaging.API.Externa.Favorecido.FavorecidoCadastroResponse
        '400':
          description: Erro de negócio
          content:
            application/json:
              schema:
                type: object
                properties:
                  sucesso:
                    type: boolean
                  mensagem:
                    type: string
        '500':
          description: Erro interno do servidor
          content:
            application/json:
              schema:
                type: object
                properties:
                  sucesso:
                    type: boolean
                  mensagem:
                    type: string
components:
  schemas:
    BMPSPB.Domain.Messaging.API.Externa.Favorecido.FavorecidoRequest:
      type: object
      properties:
        contaDto:
          allOf:
            - $ref: >-
                #/components/schemas/BMPSPB.Domain.Messaging.API.Shared.Conta.ContaDto
          description: Objeto detalhado da conta bancária.*
          nullable: true
        nome:
          type: string
          description: |-
            Nome completo do favorecido.*

            Observação:
            - O nome completo do favorecido pode ter no máximo 100 caracteres.
          nullable: true
        documentoFederal:
          type: string
          description: |-
            CPF ou CNPJ do favorecido.*

            Observação:
            - O CPF ou CNPJ do favorecido pode ter no máximo 14 caracteres.
          nullable: true
        numeroBanco:
          type: integer
          description: >-
            Código identificador do banco. Exemplo: 001 para Banco do Brasil,
            104 para Caixa Econômica Federal, etc.*
          format: int32
          nullable: true
        agencia:
          type: string
          description: >-
            Número da agência da conta bancária.*


            Observação:

            - O número da agência da conta bancária pode ter no máximo 10
            caracteres.
          nullable: true
        agenciaDigito:
          type: string
          description: >-
            Dígito verificador da agência da conta bancária.*


            Observação:

            - O dígito verificador da agência da conta bancária pode ter no
            máximo 1 caracter.
          nullable: true
        conta:
          type: string
          description: >-
            Número da conta bancária.


            Observações:

            - Para conta do tipo pagamento, informar o 'número da conta com
            dígito' (```contaPagamento```).

            - Para conta de outros tipos de informar o 'número da conta'
            (```conta```) e o 'dígito verificador' (```contaDigito```).

            - Caso nenhum dos campos referentes ao número da conta sejam
            informados, ocorrerá erro na requisição devido à falta de informação
            vital.

            - O número da conta bancária pode ter no máximo 12 caracteres.
          nullable: true
        contaDigito:
          type: string
          description: >-
            Dígito verificador da conta bancária.


            Observação:

            - O dígito verificador da conta bancária pode ter no máximo 1
            caracter.
          nullable: true
        contaPagamento:
          type: string
          description: >-
            Número da conta bancária seguido do dígito verificador, sem espaços
            ou caracteres especiais.


            Observação:

            - O número da conta bancária seguido do dígito verificador pode ter
            no máximo 20 caracteres.
          nullable: true
        tipoConta:
          allOf:
            - $ref: '#/components/schemas/BMPSPB.Infra.Enums.TipoConta'
          description: |-
            Tipo de conta.*

            Valores:
            -1 - CACC
            2 - SVGS
            3 - TRAN
            4 - SLRY
          nullable: true
      additionalProperties: false
    BMPSPB.Domain.Messaging.API.Externa.Favorecido.FavorecidoCadastroResponse:
      type: object
      properties:
        sucesso:
          type: boolean
        mensagem:
          type: string
          nullable: true
        jsonErros:
          type: string
          nullable: true
        codigoFavorecido:
          type: string
          format: uuid
      additionalProperties: false
    BMPSPB.Domain.Messaging.API.Shared.Conta.ContaDto:
      type: object
      properties:
        agencia:
          type: string
          description: |-
            Número da agência bancária.*

            Observações:
            - O número da agência pode ter no máximo 4 caracteres.
          nullable: true
        agenciaDigito:
          type: string
          description: >-
            Dígito verificador da agência bancária.


            Observações:

            - O dígito verificador da agência bancária pode ter no máximo 1
            caracter.
          nullable: true
        conta:
          type: string
          description: >-
            Número da conta bancária.


            Observações:

            - O número da conta bancária pode ter no máximo 12 caracteres.

            - Para que seja possível localizar a conta, é necessário informar o
            'número da conta com dígito' (```contaPgto```) ou o 'número da
            conta' (```conta```) e o 'dígito verificador' (```contaDigito```).

            - Caso o 'número da conta com dígito' (```contaPgto```) seja
            informado, não é necessário preencher os campos 'número da conta'
            (```conta```) e 'dígito verificador' (```contaDigito```).

            - Caso nenhum dos campos referentes ao número da conta seja
            informado, ocorrerá erro na requisição devido à falta de informação
            vital.
          nullable: true
        contaDigito:
          type: string
          description: >-
            Dígito verificador do número da conta bancária.


            Observações:

            - O dígito verificador do número da conta bancária pode ter no
            máximo 1 caracter.
          nullable: true
        contaPgto:
          type: string
          description: >-
            Número da conta bancária seguido do dígito verificador.


            Observações:

            - O número da conta seguido do dígito verificador pode ter no máximo
            20 caracteres.
          nullable: true
        tipoConta:
          allOf:
            - $ref: '#/components/schemas/BMPSPB.Infra.Enums.TipoConta'
          description: |-
            Tipo da conta.*

            Valores:
            1 - Corrente
            2 - Poupanca
            3 - Pagamento
            4 - Salario
          nullable: true
        modeloConta:
          allOf:
            - $ref: '#/components/schemas/BMPSPB.Infra.Enums.ModeloConta'
          description: |-
            Modelo da conta.*

            Valores:
            1 - Movimento
            2 - Escrow
            3 - Vinculada
          nullable: true
      additionalProperties: false
    BMPSPB.Infra.Enums.TipoConta:
      enum:
        - 1
        - 2
        - 3
        - 4
      type: integer
      description: ''
      format: int32
    BMPSPB.Infra.Enums.ModeloConta:
      enum:
        - 1
        - 2
        - 3
      type: integer
      description: ''
      format: int32
  securitySchemes:
    Bearer:
      type: apiKey
      description: Copie 'Bearer ' + token
      name: Authorization
      in: header

````