Kanastra Banking API

Brazilian banking-as-a-service API: financial accounts, PIX (keys, transfers, deposits, QR Codes), boleto (bank slip) issuance and CNAB return files, TED transfers, wallets, commercial notes (CCB), guarantees and issuers. Derived from the provider-published public Postman collection (66 operations).

Documentation

Specifications

Other Resources

🔗
Postman
https://raw.githubusercontent.com/api-evangelist/kanastra/refs/heads/main/postman/kanastra-banking.postman_collection.json
🔗
Webhooks
https://raw.githubusercontent.com/api-evangelist/kanastra/refs/heads/main/asyncapi/kanastra-banking-asyncapi.yml
🔗
OAuthScopes
https://raw.githubusercontent.com/api-evangelist/kanastra/refs/heads/main/scopes/kanastra-scopes.yml
🔗
Conventions
https://raw.githubusercontent.com/api-evangelist/kanastra/refs/heads/main/conventions/kanastra-conventions.yml
🔗
Idempotency
https://raw.githubusercontent.com/api-evangelist/kanastra/refs/heads/main/conventions/kanastra-conventions.yml
🔗
ErrorCatalog
https://raw.githubusercontent.com/api-evangelist/kanastra/refs/heads/main/errors/kanastra-problem-types.yml
🔗
Lifecycle
https://raw.githubusercontent.com/api-evangelist/kanastra/refs/heads/main/lifecycle/kanastra-lifecycle.yml
🔗
Sandbox
https://raw.githubusercontent.com/api-evangelist/kanastra/refs/heads/main/sandbox/kanastra-sandbox.yml
🔗
Conformance
https://raw.githubusercontent.com/api-evangelist/kanastra/refs/heads/main/conformance/kanastra-conformance.yml
🔗
DataModel
https://raw.githubusercontent.com/api-evangelist/kanastra/refs/heads/main/data-model/kanastra-data-model.yml
🔗
WellKnown
https://raw.githubusercontent.com/api-evangelist/kanastra/refs/heads/main/well-known/kanastra-well-known.yml
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/kanastra/refs/heads/main/overlays/kanastra-banking-overlay.yaml
🔗
LLMsTxt
https://raw.githubusercontent.com/api-evangelist/kanastra/refs/heads/main/llms/kanastra-llms.txt
🔗
AgentSkill
https://raw.githubusercontent.com/api-evangelist/kanastra/refs/heads/main/skills/_index.yml
🔗
APIsJSON
https://raw.githubusercontent.com/api-evangelist/kanastra/refs/heads/main/apis.yml

OpenAPI Specification

kanastra-banking-openapi.yml Raw ↑
# generated: '2026-07-19'
# method: derived
# source: https://banking-docs.kanastra.com.br/ (public Postman collection 35321848/2sA3drHEUr)
openapi: 3.0.3
info:
  title: Kanastra Banking API
  version: v1
  description: 'Kanastra Banking API — Brazilian banking-as-a-service and private-credit infrastructure:
    financial accounts, PIX (keys, transfers, deposits, QR Codes/BR Code), boleto (bank slip) issuance
    and CNAB return files, TED transfers, wallets, commercial notes (CCB) and guarantees, issuers, and
    beneficiary accounts. Derived from the provider-published public Postman collection.'
  contact:
    name: Kanastra Pagamentos
    email: pagamentos@kanastra.com.br
    url: https://banking-docs.kanastra.com.br/
  x-apis-json-derived-from: https://banking-docs.kanastra.com.br/ (public Postman collection 35321848/2sA3drHEUr)
servers:
- url: https://banking.kanastra.com.br
  description: Production
- url: https://banking-sandbox.kanastra.com.br
  description: Sandbox
tags:
- name: Authentication
- name: Wallet
- name: File Return
- name: CNAB
- name: Pagamentos
- name: Bank Slip (Boleto)
- name: Issuers
- name: Guarantees
- name: Amendment
- name: Commercial Note
- name: Bank Account Beneficiary
- name: Transactions
- name: Balance
- name: TED Transfer
- name: Create
- name: PIX Keys
- name: PIX Transfer
- name: PIX Deposit
- name: QRCodes
- name: Accounts
paths:
  /api/v1/auth/jwks:
    post:
      operationId: authenticationCreateJwks
      summary: Create JWKS
      tags:
      - Authentication
      description: 'For the public key, we use the ES512 algorithm. To generate this key, you can use
        OpenSSL as shown in the example below: openssl ecparam -name secp521r1 -genkey -noout -out ec-p512-private.pem
        openssl ec -in ec-p512-private.pem -pubout -out ec-p512-public.pem And send the content of the
        ec-p512-public.pem file in the publicKey attribute.'
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '201':
          description: Created
  /api/v1/auth/token:
    post:
      operationId: authenticationGenerateAuthorizationToken
      summary: Generate Authorization Token
      tags:
      - Authentication
      description: The clientId will be sent to the integrator during the initial setup. The clientAssertion
        will be generated in the pre-request script, but we also have this example below in PHP if you
        want create by yourself. $secretKey = 'YOUR_PRIVATE_KEY'; $alg = 'ES512'; $payload = [ 'iat' =>
        Carbon::now()->timestamp, 'exp' => Carbon::now()->addDay()->timestamp, 'aud' => 'https://auth.kanastra.com.br/realms/{{realm_name}}/protocol/openid-connect/token',
        'iss' => 'your-client-id', 'sub' => 'your-client-id', 'jti' => Uuid::uuid4()->toString(), ]; $jwt_signed
        = JWT::encode($payload, $secretKey, $alg); You should be authenticated after this steps, the post-request
        script will set the access_token on every api call, and if you have the scope permission to use
        you be able to test it.
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Successful response
  /api/v1/wallets:
    get:
      operationId: walletList
      summary: List
      tags:
      - Wallet
      description: 'Get a list of all the wallets for the authenticated user. Variants: List Copy'
      responses:
        '200':
          description: OK
    post:
      operationId: walletCreate
      summary: Create
      tags:
      - Wallet
      description: 'You can create a new wallet with this endpoint. Parameters : Field name Description
        Validation Type name Wallet name Required, must be a non-empty string string financial_account
        ID of the financial account to which the wallet is linked Required string code Wallet code Required,
        maximum of 3 digits integer accept_partial_payment Indicates whether bank slips in this wallet
        can be paid partially Not required, defaults to false boolean'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '201':
          description: Created
  /api/v1/wallets/{wallet_id}:
    get:
      operationId: walletRetrieve
      summary: Retrieve
      tags:
      - Wallet
      description: Retrieves detailed information about a specific wallet identified by its unique ID.
      parameters:
      - name: wallet_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
    put:
      operationId: walletUpdate
      summary: Update
      tags:
      - Wallet
      description: Updates an existing wallet by its unique ID based on the data provided in the request
        Parameters Field name Description Validation Type name Update the wallet name Not required, must
        be a non-empty string string financial_account Update the ID of the financial account to which
        the wallet is linked Required string code Update wallet code Not required, maximum of 3 digits
        integer accept_partial_payment Updates the setting for partial payment acceptance for bank slips
        associated with a specific wallet identified by its unique ID Not required boolean
      parameters:
      - name: wallet_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Successful response
  /api/v1/wallets/{wallet_uuid}/cnab-file-return:
    get:
      operationId: fileReturnList
      summary: List
      tags:
      - File Return
      parameters:
      - name: wallet_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Accepted
  /api/v1/wallets/{wallet_uuid}/cnab-file-return/{cnab_uuid}/download:
    get:
      operationId: fileReturnDownloadByUuid
      summary: Download by UUID
      tags:
      - File Return
      parameters:
      - name: wallet_uuid
        in: path
        required: true
        schema:
          type: string
      - name: cnab_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Accepted
  /api/v1/wallets/{wallet_uuid}/cnab-file-frenchie/{frenchie_uuid}/download:
    get:
      operationId: fileReturnDownloadFrenchieByUuid
      summary: Download Frenchie by UUID
      tags:
      - File Return
      parameters:
      - name: wallet_uuid
        in: path
        required: true
        schema:
          type: string
      - name: frenchie_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Accepted
  /api/v1/wallets/{wallet_uuid}/cnab-file-return-today:
    get:
      operationId: fileReturnDownloadTodayFile
      summary: Download Today File
      tags:
      - File Return
      parameters:
      - name: wallet_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Accepted
  /api/v1/wallets/{wallet_uuid}/cnab-file-frenchie-today:
    get:
      operationId: fileReturnDownloadTodayFrechie
      summary: Download Today Frechie
      tags:
      - File Return
      parameters:
      - name: wallet_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Accepted
  /api/v1/wallets/{wallet_uuid}/cnab:
    get:
      operationId: cnabList
      summary: List
      tags:
      - CNAB
      description: 'Response Fields Field Name Description Type count Total number of CNAB files integer
        next URL for the next page of results (if pagination is applied) string previous URL for the previous
        page of results (if pagination is applied) string results List of CNAB file objects array CNAB
        File Object Field Name Description Type uuid Unique identifier (UUID) for the CNAB file string
        createdAt Timestamp indicating when the file was created string (ISO 8601 datetime) updatedAt
        Timestamp indicating when the file was last updated string (ISO 8601 datetime) isDeleted Indicates
        whether the file has been marked as deleted boolean name Name of the CNAB file string status Current
        processing status of the CNAB file string hashFile Hash (SHA-1) of the file for integrity verification
        string wallet Unique identifier (UUID) for the wallet associated with the CNAB file string Status
        Options for status Field The status field can have one of the following values: WAITING : The
        file has been created but processing has not yet started. VALIDATING_ERROR : The file failed validation
        checks. PROCESSING : The file is currently being processed. PROCESSING_ERROR : The file passed
        validation but encountered an error during processing. PROCESSED : The file was successfully processed.'
      parameters:
      - name: wallet_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
  /api/v1/wallets/{wallet_id}/cnab:
    post:
      operationId: cnabUploadCnab
      summary: Upload CNAB
      tags:
      - CNAB
      parameters:
      - name: wallet_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
  /api/v1/{account_id}/payments:
    get:
      operationId: pagamentosReadLinecode
      summary: Read LineCode
      tags:
      - Pagamentos
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
    post:
      operationId: pagamentosPayFromPreviousRead
      summary: Pay from previous read
      tags:
      - Pagamentos
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Successful response
      description: ' Variants: Pay BankSlip from LineCode, Pay BankSlip from BarCode'
  /api/v1/wallets/{wallet_uuid}/bank-slip:
    get:
      operationId: bankSlipBoletoList
      summary: List
      tags:
      - Bank Slip (Boleto)
      description: This endpoint retrieves a paginated list of bank slips. Each bank slip includes details
        such as unique identifiers, document dates, barcodes, line codes, due dates, nominal values, payer
        information, and calculated taxes. This endpoint is useful for fetching bank slips associated
        with a specific wallet for management and processing purposes.
      parameters:
      - name: wallet_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
  /api/v1/wallets/{wallet_uuid}/bank-slip/{bank_slip_uuid}:
    get:
      operationId: bankSlipBoletoRetrieve
      summary: Retrieve
      tags:
      - Bank Slip (Boleto)
      description: Retrieves detailed information about a specific bank slip identified by its unique
        ID and wallet ID.
      parameters:
      - name: wallet_uuid
        in: path
        required: true
        schema:
          type: string
      - name: bank_slip_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
    patch:
      operationId: bankSlipBoletoUpdateBankSlip
      summary: Update Bank Slip
      tags:
      - Bank Slip (Boleto)
      description: 'This endpoint updates specific fields of a bank slip. Like the cancellation operation,
        this endpoint can only be used on bank slips that are in the OPEN status. Partial updates are
        allowed, where only specified fields need to be included in the request. Main Document Fields
        Field Name Description Validation Type documentDate Date the document is issued Required, format:
        YYYY-MM-DD string documentNumber Unique identifier for the document Required string dueDate Date
        by which payment must be made Required, format: YYYY-MM-DD string nominalValue Original amount
        of the debt Required float interestType Type of interest rate Required, options: [PERCENTAGE,
        EXEMPT] string interestValue Interest rate applicable to the debt Required if interestType is
        PERCENTAGE float fineValue Fine rate applicable to the debt Required if fineType is PERCENTAGE
        float fineType Type of fine rate Required, options: [PERCENTAGE, EXEMPT] string demonstrative
        Demonstrative message Optional string discountValue Discount amount if paid by discountLimit Required
        float discountLimit Last date to avail discount on payment Required, format: YYYY-MM-DD string
        messages Messages related to the debt collection Optional string expirationDays Days until bankslip
        to expires counting from current day Optional, default is 180 days integer emails Email addresses
        for communication Optional array ourNumber Internal control number (blank if not used) Optional
        string rebateValue Bankslip rebate amount Optional float Payer Deta'
      parameters:
      - name: wallet_uuid
        in: path
        required: true
        schema:
          type: string
      - name: bank_slip_uuid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: OK
  /api/v1/wallets/{wallet_uuid}/bank-slip/{bank_slip_uuid}/pdf:
    get:
      operationId: bankSlipBoletoGetPdfFile
      summary: Get PDF File
      tags:
      - Bank Slip (Boleto)
      description: Return the PDF file of the given bank slip ID
      parameters:
      - name: wallet_uuid
        in: path
        required: true
        schema:
          type: string
      - name: bank_slip_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
  /api/v1/wallets/{wallet_uuid}/bank-slip/batch:
    post:
      operationId: bankSlipBoletoCreateBankSlips
      summary: Create Bank Slips
      tags:
      - Bank Slip (Boleto)
      description: 'Main Document Fields Field Name Description Validation Type documentDate Date the
        document is issued Required, format: YYYY-MM-DD string participantControlNumber Primary external
        reference for Client or Funds. It is the first option for providing a custom identifier. Optional.
        Max 25 characters. Limited by CNAB 400 remittance/return file specifications. string documentNumber
        Secondary external reference (ERP/Invoice). It is the second option for external identification.
        Required. Max 10 characters. Limited by CNAB 400 remittance/return file specifications. string
        dueDate Date by which payment must be made Required, format: YYYY-MM-DD string nominalValue Original
        amount of the debt Required float interestType Type of interest rate Required, options: [PERCENTAGE,
        EXEMPT] string interestValue Interest rate applicable to the debt Required if interestType is
        PERCENTAGE float fineValue Fine rate applicable to the debt Required if fineType is PERCENTAGE
        float fineType Type of fine rate Required, options: [PERCENTAGE, EXEMPT] string demonstrative
        Demonstrative message Optional string discountValue Discount amount if paid by discountLimit Required
        float discountLimit Last date to avail discount on payment Required, format: YYYY-MM-DD string
        messages Messages related to the debt collection Optional string expirationDays Days until bankslip
        to expires counting from due date. Optional, default is 180 days integer emails Email addresses
        for communication Optional array ourNumber Unique id'
      parameters:
      - name: wallet_uuid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '202':
          description: Accepted
  /api/v1/wallets/{wallet_uuid}/bank-slip/{bank_slip_uuid}/cancel:
    put:
      operationId: bankSlipBoletoCancelBankSlip
      summary: Cancel Bank Slip
      tags:
      - Bank Slip (Boleto)
      description: This endpoint allows the cancellation of a bank slip, provided that its current status
        is OPEN . A bank slip with any other status (e.g., PAID , SETTLED ) cannot be cancelled.
      parameters:
      - name: wallet_uuid
        in: path
        required: true
        schema:
          type: string
      - name: bank_slip_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
  /api/v1/issuers:
    get:
      operationId: issuersList
      summary: List
      tags:
      - Issuers
      description: Retrieves a list of all registered issuers, along with their associated details.
      responses:
        '200':
          description: Successful response
    post:
      operationId: issuersCreate
      summary: Create
      tags:
      - Issuers
      description: 'Main Company Fields Field Name Description Validation Type name Name of the company
        Required string governmentId Company document Required string businessSector Sector in which the
        company operates Required string annualBilling Annual billing amount Required float municipalRegistration
        Municipal registration number Required string cnae CNAE (National Classification of Economic Activities)
        Required string companySize Size of the company Required, options: [MICRO, SMALL, MEDIUM, LARGE]
        string partnerShipType Type of partnership Required, options: [LTDA, SA, MEI, EIRELI] string inJudicialRecovery
        Indicates if the company is in judicial recovery Required boolean hasDebitUnion Indicates if the
        company has a debit union Required boolean dueDiligenceStatus Status of due diligence Required,
        options: [APPROVED, REPROVED, IN_PROGRESS, CANCELLED, IN_ANALYSIS] string Business Sector Options
        The businessSector field can have one of the following values: AGRICULTURAL FOODS BUSINESS PHARMACY
        FINANCIAL SMOKE HOSPITAL REAL_ESTATE INDUSTRY INSTALLATION METALLIC STATIONERY_SHOP OIL PRIMARY
        SERVICES THIRD TRANSPORT Contact Information Field Name Description Validation Type name Name
        of the contact Required string email Email of the contact Required string phone Phone number of
        the contact Required string Address Information Field Name Description Validation Type street
        Street address Required string number Building number Required string complement Address complement
        Optional string neighborhood'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '201':
          description: Created
  /api/v1/issuers/{issuer_uuid}:
    get:
      operationId: issuersRetrieve
      summary: Retrieve
      tags:
      - Issuers
      description: Retrieves detailed information about a specific issuer identified by its unique ID.
      parameters:
      - name: issuer_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
    put:
      operationId: issuersUpdate
      summary: Update
      tags:
      - Issuers
      parameters:
      - name: issuer_uuid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: OK
  /api/v1/commercial-papers/{commercial_note_uuid}/guarantees/batch:
    post:
      operationId: guaranteesBatchGuarantee
      summary: Batch Guarantee
      tags:
      - Guarantees
      parameters:
      - name: commercial_note_uuid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Successful response
  /api/v1/commercial-papers/guarantee/{guarantee_uuid}/documents/batch:
    post:
      operationId: guaranteesBatchDocuments
      summary: Batch Documents
      tags:
      - Guarantees
      parameters:
      - name: guarantee_uuid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Successful response
  /api/v1/commercial-papers/guarantee/{guarantee_uuid}:
    get:
      operationId: guaranteesGuarantee
      summary: Guarantee
      tags:
      - Guarantees
      parameters:
      - name: guarantee_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
    delete:
      operationId: guaranteesDeleteGuarantee
      summary: Delete Guarantee
      tags:
      - Guarantees
      parameters:
      - name: guarantee_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
  /api/v1/commercial-papers/{commercial_note_uuid}/guarantees:
    get:
      operationId: guaranteesListGuarantees
      summary: List Guarantees
      tags:
      - Guarantees
      parameters:
      - name: commercial_note_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
  /api/v1/commercial-papers/{commercial_note_uuid}/documents:
    get:
      operationId: guaranteesListDocuments
      summary: List Documents
      tags:
      - Guarantees
      parameters:
      - name: commercial_note_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
  /api/v1/commercial-papers/{commercial_note_uuid}/documents/{doocument_uuid}:
    get:
      operationId: guaranteesDocument
      summary: Document
      tags:
      - Guarantees
      parameters:
      - name: commercial_note_uuid
        in: path
        required: true
        schema:
          type: string
      - name: doocument_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
  /api/v1/commercial-papers/guarantees/amendment:
    post:
      operationId: amendmentCreate
      summary: Create
      tags:
      - Amendment
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: OK
  /api/v1/commercial-notes:
    get:
      operationId: commercialNoteList
      summary: List
      tags:
      - Commercial Note
      description: Retrieves a list of all registered commercial notes, along with their associated details.
        Field Name Description Type uuid Unique identifier for the issuance record string status Current
        status of the issuance string dateOfIssue Date of issuance string deadline Deadline date for the
        issuance string totalAmount Total amount of the issuance string interestRate Interest rate applied
        to the issuance string calculationBasis Calculation basis for interest string amortization Amortization
        method used string frequency Frequency of interest and principal payments string interestAndPrincipalGracePeriod
        Indicates if there is a grace period for interest and principal payments boolean interestFirstRatePaymentDate
        Date of the first interest rate payment string interestFirstPrincipalPaymentDate Date of the first
        principal payment string issuanceNumber Number of the issuance string issuanceSeries Series of
        the issuance string monetaryRestatement Indicates if there is monetary restatement boolean cityOfIssue
        City where the issuance takes place string stateOfIssue State where the issuance takes place string
        cityOfPayment City where the payment should be made string stateOfPayment State where the payment
        should be made string issuanceCost Cost associated with the issuance string quantity Quantity
        of units issued integer unitValue Unit value of the issuance string bookkeepingNumber Bookkeeping
        number associated with the issuance (if applicable) string installmentsPath Path to the installments
        as
      responses:
        '200':
          description: OK
    post:
      operationId: commercialNoteCreate
      summary: Create
      tags:
      - Commercial Note
      description: 'Prerequisites Issuer Creation : Before creating a Commercial Note, an Issuer must
        be created. Refer to the "Issuer Creation" section in this documentation for detailed instructions
        on how to create an Issuer. Subscriber Document Number : A valid Subscriber document number is
        required to create a Commercial Note. Please contact us to create a Subscriber before proceeding.
        Request Fields Field Name Description Validation Type issuerGovernmentId Issuer document Required
        string subscriberGovernmentId Subscriber document Required string dateOfIssue Date of issuance
        Required, format: YYYY-MM-DD string deadline Deadline date for the issuance Required, format:
        YYYY-MM-DD string totalAmount Total amount of the issuance Required string interestRate Interest
        rate applied to the issuance Required string calculationBasis Calculation basis for interest Required,
        options: [DC_365, DC_360] string amortization Amortization method used Required, options: [PRICE,
        SAC] string frequency Frequency of interest and principal payments Required, options: [MONTHLY,
        QUARTERLY, SEMI_ANNUALLY, ANNUALLY] string interestAndPrincipalGracePeriod Indicates if there
        is a grace period for interest and principal payments Required boolean interestFirstRatePaymentDate
        Date of the first interest rate payment Required, format: YYYY-MM-DD string interestFirstPrincipalPaymentDate
        Date of the first principal payment Required, format: YYYY-MM-DD string issuanceNumber Number
        of the issuance Required string issuanceSeries  Variants: Create Eduardo Payload'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '201':
          description: Created
  /api/v1/commercial-notes/{commercial_note_uuid}:
    get:
      operationId: commercialNoteRetrieve
      summary: Retrieve
      tags:
      - Commercial Note
      parameters:
      - name: commercial_note_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
  /api/v1/commercial-notes/{commercial_note_id}/upload:
    post:
      operationId: commercialNoteUploadDocument
      summary: Upload Document
      tags:
      - Commercial Note
      description: 'Request Body Fields Field Name Description Validation Type type Type of the document.
        Options include CONTRACT , PAYMENT_RECEIPT , BULLETIN , DISBURSEMENT_RECEIPT Required string file
        Base64-encoded string of the document file Required string CONTRACT: Commercial Note Contract
        (Termo Constitutivo) BULLETIN: Commercial Note Bulletin (Boletim de Subscrição) DISBURSEMENT_RECEIPT:
        Comercial Note disbursement receipt (when the subscriber pays the issuer) PAYMENT_RECEIPT: Commercial
        Note payment receipt (when the issuer pays the subscriber)'
      parameters:
      - name: commercial_note_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '201':
          description: Created
  /api/v1/commercial-notes/{commercial_note_document_uuid}/download:
    get:
      operationId: commercialNoteDownloadDocumentByType
      summary: Download Document by type
      tags:
      - Commercial Note
      description: Parameter Description commercial_note_id ID of the commercial note type Type of the
        document. Options included CONTRACT , PAYMENT_RECEIPT , BULLETIN , BOOKKEEPER_TERM , DISBURSEMENT_RECEIPT
      parameters:
      - name: commercial_note_document_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
  /api/v1/accounts/{account_uuid}/beneficiary-accounts:
    get:
      operationId: bankAccountBeneficiaryList
      summary: List
      tags:
      - Bank Account Beneficiary
      description: Retrieves a list of all registered beneficiary bank accounts, along with their associated
        details. Field Name Description Type uuid Unique identifier for the beneficiary account record
        string holderName Name of the beneficiary account holder string governmentId Government identification
        number of the beneficiary string code Bank code of the beneficiary's financial institution string
        agency Agency number of the beneficiary's bank string financialAccount Unique identifier for the
        financial account string account Account number of the beneficiary string digit Check digit for
        the account number string isFavorite Indicates if the account is marked as a favorite for quick
        access boolean
      parameters:
      - name: account_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
    post:
      operationId: bankAccountBeneficiaryCreate
      summary: Create
      tags:
      - Bank Account Beneficiary
      description: Registers a new beneficiary bank account with the provided details. Field Name Description
        Type holderName Name of the beneficiary account holder string governmentId Government identification
        number of the beneficiary string bankCode Bank code of the beneficiary's financial institution
        integer agency Agency number of the beneficiary's bank integer account Account number of the beneficiary
        integer accountDigit Check digit for the account number integer isFavorite Indicates if the account
        is marked as a favorite for quick access boolean This endpoint allows the registration of a new
        beneficiary bank account. By providing the necessary details, users can ensure the accuracy and
        security of their financial transactions, making future transfers more efficient.
      parameters:
      - name: account_uuid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '202':
          description: Accepted
  /api/v1/accounts/{account_uuid}/beneficiary-accounts/{beneficiary_uuid}:
    delete:
      operationId: bankAccountBeneficiaryDelete
      summary: Delete
      tags:
      - Bank Account Beneficiary
      description: Deletes the given beneficiary bank account by UUID. This endpoint allows the deletion
        of a spec

# --- truncated at 32 KB (76 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kanastra/refs/heads/main/openapi/kanastra-banking-openapi.yml