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

# Register An Own Bank Account

> Registers a bank account owned by the authenticated user.

**Country restriction:** Only available for accounts with `country = AR` or `country = BR`.

- **AR** — accepts a CBU (22 digits), CVU (22 digits), or alias (alphanumeric with dots). Account ownership is validated against an external service before registration. Returns `201` if the account is newly registered, `200` if it was already registered.
- **BR** — accepts a Pix key: e-mail, CPF (11 digits), CNPJ (14 digits), phone in E.164 format, or EVP (UUID). Ownership is validated before registration. Returns `201` if the key is new, `200` if it already exists.

**Throttling:** Maximum 5 requests per minute and 20 requests per hour per user.

**Domain error codes** (returned inside `data.detail[]`):
- `BANK_0001` — the account does not belong to the authenticated user.
- `BANK_0002` — conflict; the operation cannot be completed.
- `BANK_0003` — the external validation service is temporarily unavailable.

---

**Authorization**

- Requires a valid API key.



## OpenAPI

````yaml post /wallet/banking/accounts/
openapi: 3.0.0
info:
  title: Ripio Gateway
  description: Ripio API - Services documentation.
  version: 0.1.0
  x-logo:
    url: https://cwstatic.nyc3.digitaloceanspaces.com/1996/bitcointrade.png
servers:
  - url: https://api.ripio.com
    description: Production environment
security: []
paths:
  /wallet/banking/accounts/:
    post:
      tags:
        - Ripio Wallet
      summary: banking - Register an own bank account
      description: >-
        Registers a bank account owned by the authenticated user.


        **Country restriction:** Only available for accounts with `country = AR`
        or `country = BR`.


        - **AR** — accepts a CBU (22 digits), CVU (22 digits), or alias
        (alphanumeric with dots). Account ownership is validated against an
        external service before registration. Returns `201` if the account is
        newly registered, `200` if it was already registered.

        - **BR** — accepts a Pix key: e-mail, CPF (11 digits), CNPJ (14 digits),
        phone in E.164 format, or EVP (UUID). Ownership is validated before
        registration. Returns `201` if the key is new, `200` if it already
        exists.


        **Throttling:** Maximum 5 requests per minute and 20 requests per hour
        per user.


        **Domain error codes** (returned inside `data.detail[]`):

        - `BANK_0001` — the account does not belong to the authenticated user.

        - `BANK_0002` — conflict; the operation cannot be completed.

        - `BANK_0003` — the external validation service is temporarily
        unavailable.


        ---


        **Authorization**


        - Requires a valid API key.
      parameters:
        - in: header
          name: authorization
          required: true
          description: The API key as a string.
          schema:
            type: string
        - in: header
          name: signature
          required: true
          description: >-
            See the [Generating
            Signature](/static/api/authentication#generating-signature) section
            for more details.
          schema:
            type: string
        - in: header
          name: timestamp
          required: true
          description: >-
            A timestamp in milliseconds. See the [Timestamp
            Security](/static/api/authentication#timestamp-security) section for
            more details.
          schema:
            type: number
        - in: header
          name: timstamp-tolerance
          required: false
          description: >-
            An additional, non-required parameter, that you can send to specify
            the number of milliseconds after the timestamp for the request to be
            valid. See the [Timestamp
            Security](/static/api/authentication#timestamp-security) section for
            more details.
          schema:
            type: number
      requestBody:
        content:
          application/json:
            schema:
              properties:
                account_number:
                  description: >-
                    The account identifier to register:

                    - AR: CBU (22 digits), CVU (22 digits), or alias
                    (alphanumeric with dots).

                    - BR: Pix key — e-mail, CPF (11 digits), CNPJ (14 digits),
                    phone (E.164), or EVP (UUID).
                  type: string
                  example: mi.cuenta.alias
              required:
                - account_number
              type: object
            examples:
              ar_alias:
                summary: AR — alias
                value:
                  account_number: mi.cuenta.alias
              ar_cbu:
                summary: AR — CBU
                value:
                  account_number: '0720010088000000000000'
              ar_cvu:
                summary: AR — CVU
                value:
                  account_number: '0000003100088888888888'
              br_email:
                summary: BR — Pix email
                value:
                  account_number: usuario@email.com
              br_cpf:
                summary: BR — Pix CPF
                value:
                  account_number: '12345678901'
              br_evp:
                summary: BR — Pix EVP
                value:
                  account_number: 550e8400-e29b-41d4-a716-446655440000
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                description: Bank account already registered. Returns the existing account.
                properties:
                  error_code:
                    type: string
                    example: null
                  message:
                    type: string
                    example: null
                  data:
                    type: object
                required:
                  - error_code
                  - message
                  - data
                type: object
        '201':
          description: ''
          content:
            application/json:
              schema:
                description: Bank account registered successfully.
                properties:
                  error_code:
                    type: string
                    example: null
                  message:
                    type: string
                    example: null
                  data:
                    type: object
                required:
                  - error_code
                  - message
                  - data
                type: object
        '400':
          description: Error response 400
        '401':
          description: Error response 401
        '403':
          description: Error response 403
        '409':
          description: Error response 409
        '429':
          description: Error response 429
        '503':
          description: Error response 503

````