> ## 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.

# 50 - Register Bill

> <p>Scopes:</p>
<b>api.ext api.boleto.registrar</b>

Through this endpoint, the partner can register a boleto. The integrator's API process registers the boleto with the appropriate agency.

Before registering the boleto, the issuer must have a payee number linked to the account and a registered wallet. Wallet "1" is used for a simple boleto, which is the applicable status for this endpoint, and "9" for a CNAB (National Bank of Brazil).

Payee registration must be performed at the /api/Payee endpoint, and the payee's link to a wallet must be performed at the /api/Payee/Add Wallet endpoint.


## OpenAPI

````yaml post /api/Boleto/Registrar
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/Boleto/Registrar:
    post:
      tags:
        - Boleto
      description: "<p>Scopes:</p>\r\n<b>api.ext api.boleto.registrar</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.DDA.RegistrarBoletoManualExternoRequest
          text/json:
            schema:
              allOf:
                - $ref: >-
                    #/components/schemas/BMPSPB.Domain.Messaging.API.Externa.DDA.RegistrarBoletoManualExternoRequest
          application/*+json:
            schema:
              allOf:
                - $ref: >-
                    #/components/schemas/BMPSPB.Domain.Messaging.API.Externa.DDA.RegistrarBoletoManualExternoRequest
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/BMPSPB.Domain.Messaging.API.DBSCore.Boleto.CoreRegistrarBoletoResponse
        '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.DDA.RegistrarBoletoManualExternoRequest:
      type: object
      properties:
        beneficiario:
          allOf:
            - $ref: >-
                #/components/schemas/BMPSPB.Domain.Messaging.API.Shared.Conta.ContaDto
          nullable: true
        dadosBoleto:
          allOf:
            - $ref: >-
                #/components/schemas/BMPSPB.Domain.Messaging.API.Externa.DDA.DadosBoletoDto
          nullable: true
        pagador:
          allOf:
            - $ref: >-
                #/components/schemas/BMPSPB.Domain.Messaging.API.Shared.DDA.BoletoPagadorExternoDto
          nullable: true
        sacadorAvalista:
          allOf:
            - $ref: >-
                #/components/schemas/BMPSPB.Domain.Messaging.API.Shared.DDA.BoletoSacadorAvalistaDto
          nullable: true
        juros:
          allOf:
            - $ref: >-
                #/components/schemas/BMPSPB.Domain.Messaging.API.Shared.DDA.ItemCalculavelBoleto
          nullable: true
        multa:
          allOf:
            - $ref: >-
                #/components/schemas/BMPSPB.Domain.Messaging.API.Shared.DDA.ItemCalculavelBoleto
          nullable: true
        desconto:
          allOf:
            - $ref: >-
                #/components/schemas/BMPSPB.Domain.Messaging.API.Shared.DDA.ItemCalculavelBoleto
          nullable: true
        descontos:
          type: array
          items:
            $ref: >-
              #/components/schemas/BMPSPB.Domain.Messaging.API.Shared.DDA.ItemCalculavelBoleto
          nullable: true
        instrucoesBeneficiario:
          type: array
          items:
            type: string
          nullable: true
        numeroCarteira:
          type: integer
          format: int32
        tipoRegistro:
          allOf:
            - $ref: '#/components/schemas/BMPSPB.Infra.Enums.TipoRegistro'
          nullable: true
        recorrencia:
          allOf:
            - $ref: >-
                #/components/schemas/BMPSPB.Domain.Messaging.API.Shared.DDA.Recorrencia
          nullable: true
      additionalProperties: false
    BMPSPB.Domain.Messaging.API.DBSCore.Boleto.CoreRegistrarBoletoResponse:
      type: object
      properties:
        sucesso:
          type: boolean
        mensagem:
          type: string
          nullable: true
        codigoBoleto:
          type: string
          format: uuid
        identdNossoNum:
          type: string
          nullable: true
        numCodBarras:
          type: string
          nullable: true
        numLinhaDigtvl:
          type: string
          nullable: true
        numDocTit:
          type: string
          nullable: true
      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.Domain.Messaging.API.Externa.DDA.DadosBoletoDto:
      type: object
      properties:
        dtVencimento:
          type: string
          description: Data de vencimento do título.*
          format: date-time
        dtLimPgto:
          type: string
          description: Data limite para pagamento do título.
          format: date-time
          nullable: true
        vlrTitulo:
          type: number
          description: |-
            Valor do título.*

            Observação: 
            - O 'valor do título' (```vlrTitulo```) deve ser maior que zero.
          format: double
        numDocTit:
          type: string
          description: Número do documento do título utilizado pelo cedente.
          nullable: true
        identdNossoNum:
          type: string
          description: Identificador do título no banco – o “Nosso Número”.
          nullable: true
        codEspTit:
          type: integer
          description: >-
            Código para identificar o tipo de título de cobrança. Códigos
            adotados pela FEBRABAN.*


            Códigos para identificar o 'tipo de título de cobrança'
            (```codEspTit```):

            - 1 = CH Cheque; 2 = DM Duplicata Mercantil; " +3 = DMI Duplicata
            Mercantil Indicação; 4 = DS Duplicata de Serviço; 5 = DSI Duplicata
            de Serviço Indicação; 6 = DR Duplicata Rural; 7 = LC Letra de
            Câmbio; 8 = NCC Nota de Crédito Comercial; 9 = NCE Nota de Crédito
            Exportação; 10 = NCI Nota de Crédito Industrial; 11 = NCR Nota de
            Crédito Rural; 12 = NP Nota Promissória; 13 = NPR Nota Promissória
            Rural; 14 = TM Triplicata Mercantil; 15 = TS Triplicata de Serviço;
            16 = NS Nota de Seguro; 17 = RC Recibo; 18 = FAT Bloqueto; 19 = ND
            Nota de Débito; 20 = AP Apólice de Seguro; 21 = ME Mensalidade
            Escolar; 22 = PC Parcela de Consórcio; 23 = NF Nota Fiscal; 24 = DD
            Documento de Dívida; 25 = Cédula de Produto Rural; 26 = Warrant; 27
            = Dívida Ativa de Estado; 28 = Dívida Ativa de Município; 29 =
            Dívida Ativa da União; 30 = Encargos condominiais; 31 = Cartão de
            Crédito; 32 = Boleto proposta; 33 = Boleto de Depósito e Aporte; 99
            = Outros
          format: int32
        dtEmissao:
          type: string
          description: Data de emissão do título.
          format: date-time
          nullable: true
        vlrAbatimento:
          type: number
          description: >-
            Valor total dos abatimentos para o título.


            Observação:

            - O 'valor total dos abatimentos para o título'
            (```vlrAbatimento```) deve ser informado quando o 'desconto
            principal' (```desconto```) ou algum 'desconto adicional'
            (```descontos```) tiver sido informado.
          format: double
        numeroDocumento:
          type: string
          description: Número do documento para livre controle do cedente.
          nullable: true
      additionalProperties: false
    BMPSPB.Domain.Messaging.API.Shared.DDA.BoletoPagadorExternoDto:
      type: object
      properties:
        tipoPessoa:
          allOf:
            - $ref: '#/components/schemas/BMPSPB.Infra.Enums.TipoPessoa'
        documentoFederal:
          type: string
          nullable: true
        nomeRazao:
          type: string
          nullable: true
        nomeFantasia:
          type: string
          nullable: true
        logradouro:
          type: string
          nullable: true
        cidade:
          type: string
          nullable: true
        uf:
          type: string
          nullable: true
        cep:
          type: string
          nullable: true
        bairro:
          type: string
          nullable: true
        numero:
          type: string
          nullable: true
        complemento:
          type: string
          nullable: true
        email:
          type: string
          nullable: true
        telefone:
          type: string
          nullable: true
      additionalProperties: false
    BMPSPB.Domain.Messaging.API.Shared.DDA.BoletoSacadorAvalistaDto:
      type: object
      properties:
        tipo:
          allOf:
            - $ref: '#/components/schemas/BMPSPB.Infra.Enums.TipoSacadorAvalista'
          description: |-
            Tipo de sacador avalista.

             Valores:
            0 - Isento
            1 - CPF
            2 - CNPJ
            3 - PIS/PASEP
            9 - Outros
          nullable: true
        identificador:
          type: string
          description: Identificador do sacador avalista.
          nullable: true
        nomeSacadorAvalista:
          type: string
          description: Nome do sacador avalista.
          nullable: true
      additionalProperties: false
    BMPSPB.Domain.Messaging.API.Shared.DDA.ItemCalculavelBoleto:
      type: object
      properties:
        data:
          type: string
          description: Data associada ao item calculável.
          format: date-time
          nullable: true
        codigo:
          type: string
          description: Código do item calculável.
          nullable: true
        vlr:
          type: number
          description: Valor do item calculável.
          format: double
      additionalProperties: false
    BMPSPB.Infra.Enums.TipoRegistro:
      enum:
        - 1
        - 2
        - 3
      type: integer
      description: ''
      format: int32
    BMPSPB.Domain.Messaging.API.Shared.DDA.Recorrencia:
      type: object
      properties:
        tipo:
          allOf:
            - $ref: '#/components/schemas/BMPSPB.Infra.Enums.TipoRecorrencia'
          description: |-
            Tipo de recorrencia.

             Valores:
            1 - Semanal
            2 - Quinzenal
            3 - Mensal
            4 - Trimestral
            5 - Bimestral
            6 - Anual
            7 - Semestral
          nullable: true
        modelo:
          allOf:
            - $ref: '#/components/schemas/BMPSPB.Infra.Enums.ModeloRecorrencia'
          description: |-
            Modelo de recorrencia.

             Valores:
            1 - Parcelado
            2 - Recorrente
        qtd:
          type: integer
          description: Número de recorrências.
          format: int32
          nullable: true
        diaFixoRecorrencia:
          type: integer
          description: Dia do mês fixo da recorrência.
          format: int32
          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
    BMPSPB.Infra.Enums.TipoPessoa:
      enum:
        - 1
        - 2
      type: integer
      description: ''
      format: int32
    BMPSPB.Infra.Enums.TipoSacadorAvalista:
      enum:
        - 0
        - 1
        - 2
        - 3
        - 9
      type: integer
      description: ''
      format: int32
    BMPSPB.Infra.Enums.TipoRecorrencia:
      enum:
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
      type: integer
      description: ''
      format: int32
    BMPSPB.Infra.Enums.ModeloRecorrencia:
      enum:
        - 1
        - 2
      type: integer
      description: ''
      format: int32
  securitySchemes:
    Bearer:
      type: apiKey
      description: Copie 'Bearer ' + token
      name: Authorization
      in: header

````