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

# Create Bank Account

> Creates a bank account



## OpenAPI

````yaml v2/api-reference/openapi.json POST /v2/bank_accounts
openapi: 3.0.0
info:
  title: Trio API v2
  version: 2026-10-19.v2
servers:
  - url: https://api.sandbox.trio.com.br
    variables: {}
  - url: https://api.qa.trio.com.br
    variables: {}
  - url: https://api.trio.com.br
    variables: {}
security: []
tags: []
paths:
  /v2/bank_accounts:
    parameters:
      - description: >-
          Version of the v2 contract the client is written against. Each
          breaking change publishes a new version.
        example: 2026-10-19.v2
        in: header
        name: Trio-Version
        required: true
        schema:
          enum:
            - 2026-10-19.v2
          type: string
          x-struct: null
          x-validate: null
      - description: >-
          ID of another org to act on instead of the API key's own org. The
          key's org must have been granted access to it, and the request is
          refused with 403 FORBIDDEN otherwise. When that access or the API key
          is read-only, only GET and HEAD requests may carry it. When the target
          org requires mTLS, so does the request. Leave it out to act on the
          key's own org.
        in: header
        name: Trio-Target-Org-Id
        required: false
        schema:
          format: uuid
          type: string
          x-struct: null
          x-validate: null
    post:
      tags:
        - Bank Accounts
      summary: Create bank account
      description: Creates a bank account
      operationId: TrioFoundationWeb.V2.BankAccountController.create
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/V2_Create_bank_account_params'
        description: The create bank account attributes
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2_bank_account_response'
          description: BankAccount
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2_error'
          description: >-
            Malformed request: a body that is not valid JSON
            (MALFORMED_REQUEST), or a Trio-Version header that is missing or not
            the current one (INVALID_TRIO_VERSION).
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2_error'
          description: Missing or invalid API key credentials (INVALID_CREDENTIALS).
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2_error'
          description: >-
            The API key may not do this (FORBIDDEN): for instance
            Trio-Target-Org-Id names an org it has no access to, or writes
            through a read-only access.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2_error'
          description: >-
            Invalid input (INVALID_PARAMETER, REQUIRED_PARAMETER, or the code of
            the rule the request breaks). A request outside the operation's
            schema lists the offending fields in `errors`.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2_error'
          description: >-
            A service needed to answer is unavailable
            (TRIO_SERVICE_UNAVAILABLE).
      callbacks: {}
      security:
        - authorization: []
components:
  schemas:
    V2_Create_bank_account_params:
      description: Creates a bank account params
      example:
        description: description 1
        group_id: 41234d60-f6a9-4c9c-8cc3-5769ce9bb888
      properties:
        description:
          description: Description
          type: string
          x-struct: null
          x-validate: null
        group_id:
          description: ID of the group the bank account is created in
          format: uuid
          type: string
          x-struct: null
          x-validate: null
      required:
        - group_id
        - description
      title: V2 Create bank account params
      type: object
      x-struct: Elixir.TrioFoundationWeb.Schemas.Banking.V2.BankAccount.CreateParams
      x-validate: null
    V2_bank_account_response:
      description: A bank account response
      example:
        data:
          balances:
            available:
              amount: 150000
              currency: BRL
            blocked:
              amount: 10000
              currency: BRL
            updated_at: '2026-10-07T12:00:00.000000Z'
          branch: '0001'
          category: owner
          description: Conta
          digit: '1'
          id: 41234d60-f6a9-4c9c-8cc3-5769ce9bbea2
          inserted_at: '2024-10-12T00:00:00.000000Z'
          limits:
            payments:
              daily:
                max:
                  amount: 50000000
                  currency: BRL
                used:
                  amount: 120000
                  currency: BRL
              overnight:
                max:
                  amount: 20000000
                  currency: BRL
                used:
                  amount: 0
                  currency: BRL
              transaction:
                max:
                  amount: 4500000
                  currency: BRL
            pix:
              daily:
                max:
                  amount: 50000000
                  currency: BRL
                used:
                  amount: 120000
                  currency: BRL
              overnight:
                max:
                  amount: 20000000
                  currency: BRL
                used:
                  amount: 0
                  currency: BRL
              transaction:
                max:
                  amount: 4500000
                  currency: BRL
            ted:
              daily:
                max:
                  amount: 50000000
                  currency: BRL
                used:
                  amount: 120000
                  currency: BRL
              overnight:
                max:
                  amount: 20000000
                  currency: BRL
                used:
                  amount: 0
                  currency: BRL
              transaction:
                max:
                  amount: 4500000
                  currency: BRL
            tef:
              daily:
                max:
                  amount: 50000000
                  currency: BRL
                used:
                  amount: 120000
                  currency: BRL
              overnight:
                max:
                  amount: 20000000
                  currency: BRL
                used:
                  amount: 0
                  currency: BRL
              transaction:
                max:
                  amount: 4500000
                  currency: BRL
          number: '12345678'
          parameters:
            automatic_refund_for_person_dead: false
            automatic_refund_for_person_invalid_tax_number: false
            automatic_refund_for_person_underage: false
            in_block_for_legal_entity: false
            in_block_for_pix_qrcode_different_amount_payment: false
            in_block_for_pix_qrcode_different_counterparty_bank_account: false
            in_block_for_pix_qrcode_different_tax_number: false
            in_block_for_pix_qrcode_duplicated_payment: false
            in_block_for_unauthorized_participant: false
            in_block_for_unidentified_deposit: false
            out_block_for_legal_entity: false
            out_blocked: false
          status: approved
          type: checking
          updated_at: '2024-10-12T00:00:00.000000Z'
      properties:
        data:
          $ref: '#/components/schemas/V2_bank_account'
      title: V2 bank account response
      type: object
      x-struct: Elixir.TrioFoundationWeb.Schemas.Banking.V2.BankAccount.Response
      x-validate: null
    V2_error:
      example:
        error:
          error_code: INVALID_PARAMETER
          error_message: 'Invalid parameters: /amount: Invalid integer. Got: string'
          errors:
            - field: /amount
              message: 'Invalid integer. Got: string'
      properties:
        error:
          properties:
            error_code:
              description: >-
                Stable UPPER_SNAKE identifier of the error, for programs and
                logs. Branch on this, not on the message.
              type: string
              x-struct: null
              x-validate: null
            error_message:
              description: Human readable explanation of the error.
              type: string
              x-struct: null
              x-validate: null
            errors:
              description: >-
                Only on INVALID_PARAMETER for a request outside the operation's
                schema: one entry per offending field.
              items:
                properties:
                  field:
                    description: JSON pointer to the field, e.g. /amount.
                    type: string
                    x-struct: null
                    x-validate: null
                  message:
                    description: What is wrong with it.
                    type: string
                    x-struct: null
                    x-validate: null
                required:
                  - field
                  - message
                type: object
                x-struct: null
                x-validate: null
              type: array
              x-struct: null
              x-validate: null
          required:
            - error_code
            - error_message
          type: object
          x-struct: null
          x-validate: null
      required:
        - error
      title: V2 error
      type: object
      x-struct: Elixir.TrioFoundationWeb.Schemas.HTTP.V2Error
      x-validate: null
    V2_bank_account:
      description: A bank account v2.
      example:
        balances:
          available:
            amount: 150000
            currency: BRL
          blocked:
            amount: 10000
            currency: BRL
          updated_at: '2026-10-07T12:00:00.000000Z'
        branch: '0001'
        category: owner
        description: Conta
        digit: '1'
        id: 41234d60-f6a9-4c9c-8cc3-5769ce9bbea2
        inserted_at: '2024-10-12T00:00:00.000000Z'
        limits:
          payments:
            daily:
              max:
                amount: 50000000
                currency: BRL
              used:
                amount: 120000
                currency: BRL
            overnight:
              max:
                amount: 20000000
                currency: BRL
              used:
                amount: 0
                currency: BRL
            transaction:
              max:
                amount: 4500000
                currency: BRL
          pix:
            daily:
              max:
                amount: 50000000
                currency: BRL
              used:
                amount: 120000
                currency: BRL
            overnight:
              max:
                amount: 20000000
                currency: BRL
              used:
                amount: 0
                currency: BRL
            transaction:
              max:
                amount: 4500000
                currency: BRL
          ted:
            daily:
              max:
                amount: 50000000
                currency: BRL
              used:
                amount: 120000
                currency: BRL
            overnight:
              max:
                amount: 20000000
                currency: BRL
              used:
                amount: 0
                currency: BRL
            transaction:
              max:
                amount: 4500000
                currency: BRL
          tef:
            daily:
              max:
                amount: 50000000
                currency: BRL
              used:
                amount: 120000
                currency: BRL
            overnight:
              max:
                amount: 20000000
                currency: BRL
              used:
                amount: 0
                currency: BRL
            transaction:
              max:
                amount: 4500000
                currency: BRL
        number: '12345678'
        parameters:
          automatic_refund_for_person_dead: false
          automatic_refund_for_person_invalid_tax_number: false
          automatic_refund_for_person_underage: false
          in_block_for_legal_entity: false
          in_block_for_pix_qrcode_different_amount_payment: false
          in_block_for_pix_qrcode_different_counterparty_bank_account: false
          in_block_for_pix_qrcode_different_tax_number: false
          in_block_for_pix_qrcode_duplicated_payment: false
          in_block_for_unauthorized_participant: false
          in_block_for_unidentified_deposit: false
          out_block_for_legal_entity: false
          out_blocked: false
        status: approved
        type: checking
        updated_at: '2024-10-12T00:00:00.000000Z'
      properties:
        balances:
          $ref: '#/components/schemas/V2_bank_account_balances'
        branch:
          description: Branch code
          type: string
          x-struct: null
          x-validate: null
        category:
          description: Bank account category
          enum:
            - linked
            - owner
            - transactional
            - operational
          nullable: true
          type: string
          x-struct: null
          x-validate: null
        description:
          description: Bank account description
          type: string
          x-struct: null
          x-validate: null
        digit:
          description: Account digit
          type: string
          x-struct: null
          x-validate: null
        id:
          description: Unique identifier
          format: uuid
          type: string
          x-struct: null
          x-validate: null
        inserted_at:
          description: Creation date and time
          format: date-time
          type: string
          x-struct: null
          x-validate: null
        limits:
          $ref: '#/components/schemas/V2_bank_account_limits_by_transaction_type'
        number:
          description: Account number
          type: string
          x-struct: null
          x-validate: null
        parameters:
          $ref: '#/components/schemas/V2_bank_account_parameters'
        status:
          $ref: '#/components/schemas/V2_bank_account_status'
        type:
          description: Account type
          enum:
            - checking
            - payment
            - salary
            - savings
            - card
          type: string
          x-struct: null
          x-validate: null
        updated_at:
          description: Last update date and time
          format: date-time
          type: string
          x-struct: null
          x-validate: null
      title: V2 bank account
      type: object
      x-struct: Elixir.TrioFoundationWeb.Schemas.Banking.V2.BankAccount.BankAccountData
      x-validate: null
    V2_bank_account_balances:
      description: >-
        Bank account balances at the time of the request. Null in the response
        of the creation, which loads none.
      example:
        available:
          amount: 150000
          currency: BRL
        blocked:
          amount: 10000
          currency: BRL
        updated_at: '2026-10-07T12:00:00.000000Z'
      nullable: true
      properties:
        available:
          $ref: '#/components/schemas/V2_bank_account_amount'
        blocked:
          $ref: '#/components/schemas/V2_bank_account_amount'
        updated_at:
          description: Date and time the balances were fetched
          format: date-time
          type: string
          x-struct: null
          x-validate: null
      title: V2 bank account balances
      type: object
      x-struct: Elixir.TrioFoundationWeb.Schemas.Banking.V2.BankAccount.Balances
      x-validate: null
    V2_bank_account_limits_by_transaction_type:
      description: >-
        Limits of the bank account by transaction type. Null in the response of
        the creation, which loads none.
      example:
        payments:
          daily:
            max:
              amount: 50000000
              currency: BRL
            used:
              amount: 120000
              currency: BRL
          overnight:
            max:
              amount: 20000000
              currency: BRL
            used:
              amount: 0
              currency: BRL
          transaction:
            max:
              amount: 4500000
              currency: BRL
        pix:
          daily:
            max:
              amount: 50000000
              currency: BRL
            used:
              amount: 120000
              currency: BRL
          overnight:
            max:
              amount: 20000000
              currency: BRL
            used:
              amount: 0
              currency: BRL
          transaction:
            max:
              amount: 4500000
              currency: BRL
        ted:
          daily:
            max:
              amount: 50000000
              currency: BRL
            used:
              amount: 120000
              currency: BRL
          overnight:
            max:
              amount: 20000000
              currency: BRL
            used:
              amount: 0
              currency: BRL
          transaction:
            max:
              amount: 4500000
              currency: BRL
        tef:
          daily:
            max:
              amount: 50000000
              currency: BRL
            used:
              amount: 120000
              currency: BRL
          overnight:
            max:
              amount: 20000000
              currency: BRL
            used:
              amount: 0
              currency: BRL
          transaction:
            max:
              amount: 4500000
              currency: BRL
      nullable: true
      properties:
        payments:
          $ref: '#/components/schemas/V2_bank_account_limits'
        pix:
          $ref: '#/components/schemas/V2_bank_account_limits'
        ted:
          $ref: '#/components/schemas/V2_bank_account_limits'
        tef:
          $ref: '#/components/schemas/V2_bank_account_limits'
      title: V2 bank account limits by transaction type
      type: object
      x-struct: >-
        Elixir.TrioFoundationWeb.Schemas.Banking.V2.BankAccount.BankAccountLimits
      x-validate: null
    V2_bank_account_parameters:
      description: What the bank account blocks or refunds automatically
      example:
        automatic_refund_for_person_dead: false
        automatic_refund_for_person_invalid_tax_number: false
        automatic_refund_for_person_underage: false
        in_block_for_legal_entity: false
        in_block_for_pix_qrcode_different_amount_payment: false
        in_block_for_pix_qrcode_different_counterparty_bank_account: false
        in_block_for_pix_qrcode_different_tax_number: false
        in_block_for_pix_qrcode_duplicated_payment: false
        in_block_for_unauthorized_participant: false
        in_block_for_unidentified_deposit: false
        out_block_for_legal_entity: false
        out_blocked: false
      properties:
        automatic_refund_for_person_dead:
          description: Automatic refund for deceased individuals
          type: boolean
          x-struct: null
          x-validate: null
        automatic_refund_for_person_invalid_tax_number:
          description: Automatic refund for invalid tax number
          type: boolean
          x-struct: null
          x-validate: null
        automatic_refund_for_person_underage:
          description: Automatic refund for underage
          type: boolean
          x-struct: null
          x-validate: null
        in_block_for_legal_entity:
          description: In block for legal entity origin?
          type: boolean
          x-struct: null
          x-validate: null
        in_block_for_pix_qrcode_different_amount_payment:
          description: In block for qrcode different amount payment?
          type: boolean
          x-struct: null
          x-validate: null
        in_block_for_pix_qrcode_different_counterparty_bank_account:
          description: In block for qrcode different counterparty bank account
          type: boolean
          x-struct: null
          x-validate: null
        in_block_for_pix_qrcode_different_tax_number:
          description: In block for qrcode different tax number?
          type: boolean
          x-struct: null
          x-validate: null
        in_block_for_pix_qrcode_duplicated_payment:
          description: In block for qrcode duplicated payment?
          type: boolean
          x-struct: null
          x-validate: null
        in_block_for_unauthorized_participant:
          description: In block for unauthorized participant
          type: boolean
          x-struct: null
          x-validate: null
        in_block_for_unidentified_deposit:
          description: In block for unidentified deposit?
          type: boolean
          x-struct: null
          x-validate: null
        out_block_for_legal_entity:
          description: Out block for legal entity destination?
          type: boolean
          x-struct: null
          x-validate: null
        out_blocked:
          description: Out blocked?
          type: boolean
          x-struct: null
          x-validate: null
      title: V2 bank account parameters
      type: object
      x-struct: Elixir.TrioFoundationWeb.Schemas.Banking.V2.BankAccount.Parameters
      x-validate: null
    V2_bank_account_status:
      description: Status of the bank account
      enum:
        - created
        - approved
        - onhold
        - canceled
        - closed
      title: V2 bank account status
      type: string
      x-struct: null
      x-validate: null
    V2_bank_account_amount:
      description: An amount in cents.
      example:
        amount: 10000
        currency: BRL
      properties:
        amount:
          description: Amount in cents
          type: integer
          x-struct: null
          x-validate: null
        currency:
          $ref: '#/components/schemas/Currency'
      title: V2 bank account amount
      type: object
      x-struct: Elixir.TrioFoundationWeb.Schemas.Banking.V2.BankAccount.Amount
      x-validate: null
    V2_bank_account_limits:
      description: >-
        Daily and overnight shift limits and maximum amount of a single
        transaction.
      example:
        daily:
          max:
            amount: 50000000
            currency: BRL
          used:
            amount: 120000
            currency: BRL
        overnight:
          max:
            amount: 20000000
            currency: BRL
          used:
            amount: 0
            currency: BRL
        transaction:
          max:
            amount: 4500000
            currency: BRL
      nullable: true
      properties:
        daily:
          allOf:
            - $ref: '#/components/schemas/V2_bank_account_shift_limit'
          description: Daily shift limit
          x-struct: null
          x-validate: null
        overnight:
          allOf:
            - $ref: '#/components/schemas/V2_bank_account_shift_limit'
          description: Overnight shift limit
          x-struct: null
          x-validate: null
        transaction:
          description: Single transaction limit
          properties:
            max:
              allOf:
                - $ref: '#/components/schemas/V2_bank_account_amount'
              description: Maximum amount of a single transaction
              x-struct: null
              x-validate: null
          type: object
          x-struct: null
          x-validate: null
      title: V2 bank account limits
      type: object
      x-struct: Elixir.TrioFoundationWeb.Schemas.Banking.V2.BankAccount.Limits
      x-validate: null
    Currency:
      description: Currency
      items:
        enum:
          - BRL
        type: string
        x-struct: null
        x-validate: null
      title: Currency
      type: string
      x-struct: null
      x-validate: null
    V2_bank_account_shift_limit:
      description: Amount used and maximum amount of a shift.
      properties:
        max:
          allOf:
            - $ref: '#/components/schemas/V2_bank_account_amount'
          description: Maximum amount of the shift
          x-struct: null
          x-validate: null
        used:
          allOf:
            - $ref: '#/components/schemas/V2_bank_account_amount'
          description: Amount used in the current shift
          x-struct: null
          x-validate: null
      title: V2 bank account shift limit
      type: object
      x-struct: Elixir.TrioFoundationWeb.Schemas.Banking.V2.BankAccount.ShiftLimit
      x-validate: null
  securitySchemes:
    authorization:
      scheme: basic
      type: http

````

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