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

# Set or rename an Argentine bank alias

> Sets the bank-addressable alias chosen by the caller for an existing AR/ARS bank-transfer deposit account. The platform verifies that the instrument belongs to the authenticated account and asks the core to verify the alias with the banking rail. Repeating the same alias is an idempotent no-op. This bank alias is separate from the permanent verified-name-derived profile alias at `PUT /v1/me/alias`.



## OpenAPI

````yaml /openapi.yaml put /v1/payins/deposit-accounts/{instrumentID}/bank-alias
openapi: 3.1.0
info:
  title: CBPay API
  version: '2.166'
  description: >
    CBPay is a multi-currency payment platform: fiat payouts and collections

    across Latin America, internal transfers, on-chain funding and

    withdrawals, and KYC screening. Every account holds ten independent

    virtual balances — USD (the principal currency), USDT, USDC, BTC, GOLD,
    SILVER and PLATINUM (grams of fine metal), plus BOB, MXN and ARS (local fiat
    with two decimals) — convertible on demand with swaps.

    Payouts and service fees can be paid from any of the ten balances

    (`PUT /v1/settlement` or per-payout `settlement_asset`), and payins

    can auto-convert to the asset of your choice (`default_payin_asset`).


    All amounts are decimal strings in each currency's precision (2 decimals

    for USD/BOB/MXN/ARS, 6 for USDT/USDC/GOLD/SILVER/PLATINUM, 8 for BTC).
    Errors always return

    `{"error": "<code>", "message": "<detail>"}`.
servers:
  - url: https://api.qbank.cl/platform
    description: Live (production, real money)
  - url: https://cryptobank.qbank.cl/platform
    description: Test (sandbox, simulated money — pk_test_ keys)
security:
  - bearerAuth: []
tags:
  - name: Receipts
    description: >-
      Branded PDF receipt per operation, with a public signed-QR authenticity
      check, receipt_url on final-state responses/webhooks and automatic email
      delivery on final states. A pending payout before debit does not expose
      receipt_url.
  - name: Authentication
    description: Register and log in account members. Sessions last 24 hours.
  - name: Account
    description: Profile, members and API keys of the calling account.
  - name: Balances
    description: Balances, movement history and FX rates.
  - name: Payouts
    description: >-
      Fiat dispersals debited from the settlement balance of your choice (USD is
      the principal balance).
  - name: Payins
    description: >-
      Fiat top-ups (QR, transfers, dedicated accounts, pull collections, cards,
      checkout links) credited automatically — in USD, or auto-converted to the
      settlement asset of your choice.
  - name: Checkout
    description: >-
      Universal checkout links (`POST /v1/payins` with `method: "checkout"`) and
      the public payment-page endpoints — multi-country fiat, crypto with an
      ephemeral wallet per link and direct CBPay payment, settled in the asset
      of your choice.
  - name: Stored cards
    description: >-
      Cards saved with the payer's explicit consent during a 3-D Secure payment
      (COF). List, revoke and charge them on demand (MIT) without asking for the
      card again.
  - name: Subscriptions
    description: >-
      Recurring charges on a stored card managed by the platform scheduler —
      daily, weekly, monthly or yearly, with pause/resume/cancel and automatic
      dunning.
  - name: Transfers
    description: >-
      Free internal transfers between CBPay accounts (person or company, any
      combination).
  - name: Contacts
    description: >-
      Per-account address book of beneficiaries (CBPay, bank and crypto
      destinations) with phone matching and auto-save on every send.
  - name: Swaps
    description: >-
      Instant conversion between the account's USDT, USDC, BTC, GOLD, SILVER and
      PLATINUM balances at the account's quoted rate.
  - name: Crypto
    description: On-chain funding and withdrawals (TRON, Ethereum and Bitcoin).
  - name: Segregated wallets
    description: >-
      On-chain wallets with their own balance (companies unlimited; persons 1
      per network+asset pair) — create, import, send, export the private key and
      auto-forward. The balance lives on-chain, never in the ledger.
  - name: Signature proofs
    description: >-
      Cryptographic message signing with wallets (EIP-191 ETH/EVM, TIP-191 TRON)
      — create, list, get and revoke signature proofs with public verification.
  - name: Wallet links
    description: >-
      Link external wallets (custody=client) to your account by signing a nonce
      challenge — create challenges, verify signatures, list and revoke links.
  - name: QR Crypto POS
    description: >-
      Amount-bearing crypto QR charges for processors with physical POS
      terminals (company accounts): verified merchants, exclusive address + QR
      per charge, early payment detection, per-merchant reconciliation and
      refunds over the crypto withdrawal rail.
  - name: KYC / KYB
    description: >-
      Identity verification: KYC for persons, KYB for companies — your own
      onboarding and third-party verifications for company accounts.
  - name: AML screening
    description: >-
      Standalone AML screening of persons and companies against sanctions, PEP
      and adverse media lists, with rescreening, continuous monitoring and a
      downloadable PDF report.
  - name: Wallet screening
    description: >-
      AML risk assessment of blockchain addresses (sanctions, illicit-fund
      exposure) with a per-scan fee, plus free automatic protection on
      withdrawals and deposits.
  - name: Qscore
    description: >-
      API-first credit bureau. Issues complete credit reports with a 1-999 score
      (bands A-E, or SC when there is no data), reads the latest score of a
      subject and manages ARCO disputes. Chile first, with a country-agnostic
      design. Every issued report carries a public verification code.
  - name: Analytics
  - name: Webhooks
    description: Subscriptions to receive signed event notifications.
  - name: Status
    description: Service availability.
  - name: Banking
    description: >-
      Real bank accounts: receive, hold and send money over international
      banking rails.
  - name: Cards
    description: >-
      Virtual and physical cards that spend Just-In-Time from any of the seven
      spending assets (USD, USDT, USDC, BTC, GOLD, SILVER or PLATINUM), with
      per-card spending limits.
  - name: Security (OTP)
    description: >-
      One-time verification codes over SMS/WhatsApp/email protecting sensitive
      actions, plus self-service 2FA preferences. Applies to user sessions only
      — API keys are exempt.
  - name: Passkeys
    description: >-
      Passwordless sign-in with the device's biometrics (Face ID, Touch ID,
      Windows Hello, security keys) via WebAuthn, authenticator apps (TOTP) with
      backup codes, and session/device management.
  - name: Social login
    description: >-
      Passwordless sign up and sign in with Google, Apple, Microsoft and
      Facebook via token exchange. The front end obtains the provider
      credential; the API verifies it and issues the CBPay session.
  - name: Real-time events
    description: >-
      Server-Sent Events stream with everything that happens in the account (or
      across the organization for admins), replay with `Last-Event-ID`, optional
      initial snapshot and a 90-day queryable history.
  - name: Contracts
    description: Pre-filled Grupo CB framework agreements for verified company accounts.
paths:
  /v1/payins/deposit-accounts/{instrumentID}/bank-alias:
    put:
      tags:
        - Payins
      summary: Set or rename an Argentine bank alias
      description: >-
        Sets the bank-addressable alias chosen by the caller for an existing
        AR/ARS bank-transfer deposit account. The platform verifies that the
        instrument belongs to the authenticated account and asks the core to
        verify the alias with the banking rail. Repeating the same alias is an
        idempotent no-op. This bank alias is separate from the permanent
        verified-name-derived profile alias at `PUT /v1/me/alias`.
      operationId: setDepositAccountBankAlias
      parameters:
        - name: instrumentID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - bank_alias
              properties:
                bank_alias:
                  type: string
                  minLength: 6
                  maxLength: 20
                  pattern: ^[A-Za-z0-9.\-]*[A-Za-z][A-Za-z0-9.\-]*$
                  description: >-
                    6–20 ASCII letters, digits, dots or hyphens, with at least
                    one letter.
            examples:
              set_alias:
                summary: Set or rename the alias
                value:
                  bank_alias: julieta.fernandez
      responses:
        '200':
          description: Bank alias updated or already equal to the requested value.
          content:
            application/json:
              schema:
                type: object
                required:
                  - instrument_id
                  - account_number
                  - bank_alias
                  - updated
                properties:
                  instrument_id:
                    type: string
                    format: uuid
                  account_number:
                    type: string
                  bank_alias:
                    type: string
                  updated:
                    type: boolean
              examples:
                updated:
                  value:
                    instrument_id: f2b8c0de-1234-5678-9abc-def012345678
                    account_number: '0000079900000000132537'
                    bank_alias: julieta.fernandez
                    updated: true
                unchanged:
                  value:
                    instrument_id: f2b8c0de-1234-5678-9abc-def012345678
                    account_number: '0000079900000000132537'
                    bank_alias: julieta.fernandez
                    updated: false
        '400':
          description: Invalid JSON or invalid bank alias format.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                invalid_json:
                  value:
                    error: invalid_json
                    message: invalid request body
                invalid_alias:
                  value:
                    error: invalid_alias
                    message: bank_alias has an invalid format
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          description: The account cannot perform this authenticated payin operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                verification_required:
                  value:
                    error: verification_required
                    message: >-
                      identity verification is required before managing deposit
                      accounts
        '404':
          description: >-
            The instrument does not exist, is not owned by the caller, or the
            path ID is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: not_found
                message: deposit account not found
        '409':
          description: >-
            Deposit-account provisioning is still in flight and cannot be
            updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: deposit_account_not_recoverable
                message: >-
                  the deposit account provisioning is still in flight; retry
                  once it completes
        '422':
          description: The requested alias is unavailable or unsupported by the rail.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                alias_taken:
                  value:
                    error: alias_taken
                    message: bank alias is already taken; choose another
                alias_unsupported:
                  value:
                    error: alias_unsupported
                    message: this rail does not support bank aliases
        '502':
          description: Core unavailable while verifying or applying the alias.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: core_unavailable
                message: could not set the bank alias
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: Machine-readable error code (snake_case).
          example: insufficient_funds
        message:
          type: string
          description: Human-readable explanation.
  responses:
    Unauthorized:
      description: Missing or invalid credential (`unauthorized`).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: unauthorized
            message: invalid or missing credentials
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: |
        Session JWT (from register/login) or API key (`pk_...`).
        `X-API-Key: <token>` is accepted as an alternative header.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.