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

# Create a business account

> OAuth scope: `bank_account.write`

Creates a new business account.

A business account allows you to receive funds, make payments, and manage your finances. Each business account has its own IBAN and balance, and can be used for a variety of banking operations.

You can create multiple business accounts and name them based on your business needs (e.g., Primary Account, Project ABC, Tax Pots). This flexibility helps you organize your finances and allocate funds for specific purposes.



## OpenAPI

````yaml post /v2/bank_accounts
openapi: 3.1.1
info:
  version: v2
  title: Qonto
servers:
  - url: https://thirdparty.qonto.com
    description: Production URL
  - url: https://thirdparty-sandbox.staging.qonto.co
    description: Sandbox URL
security:
  - OAuth:
      - organization.read
      - membership.read
      - membership.write
      - attachment.write
      - internal_transfer.write
      - payment.write
      - supplier_invoice.write
      - supplier_invoice.read
      - client_invoices.read
      - client_invoice.write
      - client.read
      - client.write
      - product.read
      - product.write
      - request_review.write
      - request_review.read
      - team.read
      - team.write
      - request_transfers.write
      - insurance_contract.read
      - insurance_contract.write
      - card.read
      - card.write
      - bank_account.write
      - beneficiary.trust
      - webhook
      - payment_link.write
      - payment_link.read
      - sepa_direct_debit.read
      - sepa_direct_debit.write
      - terminal.read
      - terminal.write
  - SecretKey: []
paths:
  /v2/bank_accounts:
    post:
      tags:
        - Business Accounts
      summary: Create a business account
      description: >-
        OAuth scope: `bank_account.write`


        Creates a new business account.


        A business account allows you to receive funds, make payments, and
        manage your finances. Each business account has its own IBAN and
        balance, and can be used for a variety of banking operations.


        You can create multiple business accounts and name them based on your
        business needs (e.g., Primary Account, Project ABC, Tax Pots). This
        flexibility helps you organize your finances and allocate funds for
        specific purposes.
      operationId: createBusinessAccount
      parameters:
        - $ref: '#/components/parameters/X-Qonto-Staging-Token'
        - $ref: '#/components/parameters/X-Qonto-Idempotency-Key'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - bank_account
              properties:
                bank_account:
                  type: object
                  required:
                    - name
                  properties:
                    name:
                      type: string
                      example: Secondary business account
                      description: Name of the business account
      responses:
        '200':
          description: Business account created successfully
          content:
            application/json:
              schema:
                type: object
                required:
                  - bank_account
                properties:
                  bank_account:
                    allOf:
                      - $ref: '#/components/schemas/BankAccount'
                      - type: object
                        properties:
                          bic:
                            type: string
                            description: BIC of the bank account
                            enum:
                              - QNTOFRP1XXX
                              - QNTOFRPAXXX
                              - QNTODEB2XXX
                              - QNTOESB2XXX
                              - QNTOITM2XXX
                              - QNTONL22XXX
                            example: QNTOFRP1XXX
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponseBody'
              examples:
                blank_name:
                  value:
                    errors:
                      - code: blank_name
                        detail: Name can't be blank
                too_long_name:
                  value:
                    errors:
                      - code: too_long_name
                        detail: Name is too long (maximum is 300 characters)
                current_bank_accounts_limit:
                  value:
                    errors:
                      - code: current_bank_accounts_limit
                        detail: Number of bank accounts exceeds the maximum limit
                bank_accounts_limit:
                  value:
                    errors:
                      - code: bank_accounts_limit
                        detail: >-
                          You have reached the maximum number of bank accounts
                          allowed for your plan
                idempotency_header_missing:
                  value:
                    errors:
                      - code: idempotency_header_missing
                        detail: Idempotency header is required
                        source:
                          header: X-Qonto-Idempotency-Key
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponseBody'
              examples:
                authorization_header_missing:
                  value:
                    errors:
                      - code: authorization_header_missing
                        detail: authorization header missing
                authorization_token_invalid:
                  value:
                    errors:
                      - code: authorization_token_invalid
                        detail: authorization token invalid
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponseBody'
              examples:
                forbidden:
                  value:
                    errors:
                      - code: forbidden
                        detail: >-
                          User does not have sufficient permissions for this
                          action.
      security:
        - OAuth:
            - bank_account.write
components:
  parameters:
    X-Qonto-Staging-Token:
      name: X-Qonto-Staging-Token
      in: header
      description: >-
        Required only for Sandbox API requests; to get one, please sign up to
        the [Developer Portal](https://developers.qonto.com/).
      schema:
        type: string
    X-Qonto-Idempotency-Key:
      name: X-Qonto-Idempotency-Key
      in: header
      required: true
      description: >-
        Learn more in [Idempotent
        Requests](/get-started/general/idempotent-requests).
      schema:
        type: string
        example: 123e4567-e89b-12d3-a456-426614174000
  schemas:
    BankAccount:
      type: object
      required:
        - id
        - name
        - organization_id
        - status
        - main
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the bank account
        name:
          type: string
          description: Name of the bank account
          example: Primary bank account
        organization_id:
          type: string
          format: uuid
          description: Organization ID that owns the bank account
        status:
          type: string
          enum:
            - active
            - closed
          description: Status of the bank account
        main:
          type: boolean
          description: Whether this is the main bank account
        iban:
          type: string
          description: IBAN of the bank account
          example: FR7616958000010123456789037
        bic:
          type: string
          description: BIC of the bank account
          example: BNPAFRPPXXX
        currency:
          type: string
          description: Currency of the bank account
          example: EUR
        balance:
          type: string
          format: float
          description: Current balance of the bank account
          example: '142188.43'
        balance_cents:
          type: integer
          description: Current balance in cents
          example: 14218843
        authorized_balance:
          type: string
          format: float
          description: Authorized balance of the bank account
          example: '141148.12'
        authorized_balance_cents:
          type: integer
          description: Authorized balance in cents
          example: 14114812
        updated_at:
          type: string
          format: date-time
          description: Last update timestamp (ISO 8601)
          example: '2024-04-03T12:00:00Z'
        is_external_account:
          type: boolean
          description: Whether this is an external account
          example: false
        account_number:
          type: string
          description: Account number
          example: 1234567890
    BadRequestResponseBody:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/BadRequestError'
      required:
        - errors
    UnauthorizedResponseBody:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/UnauthorizedError'
      required:
        - errors
    ForbiddenResponseBody:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ForbiddenError'
      required:
        - errors
    BadRequestError:
      type: object
      properties:
        code:
          type: string
          description: Error code.
        detail:
          type: string
          description: Human readable error that explains error `code`.
        source:
          type: object
          properties:
            pointer:
              type: string
              description: >-
                The property in the request body that caused the error
                (optional).
            parameter:
              type: string
              description: The query parameter that caused the error (optional).
      required:
        - code
        - detail
      x-examples:
        Authorization field missing:
          code: bad_request
          detail: Authorization field missing
    UnauthorizedError:
      type: object
      properties:
        code:
          type: string
          description: Error code.
        detail:
          type: string
          description: Human readable error that explains error `code`.
      required:
        - code
        - detail
      x-examples:
        Invalid credentials:
          code: unauthorized
          detail: Invalid credentials
    ForbiddenError:
      type: object
      properties:
        code:
          type: string
          description: Error code.
        detail:
          type: string
          description: Human readable error that explains error `code`.
      required:
        - code
        - detail
      x-examples:
        Insufficient permissions:
          code: forbidden
          detail: User does not have sufficient permissions for this action.
  securitySchemes:
    OAuth:
      type: oauth2
      description: >
        Bearer authorization header: `Bearer <token>`, where `<token>` is the
        access token received from the authorization server at the end of the
        [OAuth 2.0
        flow](/get-started/business-api/authentication/oauth/oauth-flow).
      flows:
        authorizationCode:
          refreshUrl: https://oauth.qonto.com/oauth2/token
          authorizationUrl: https://oauth.qonto.com/oauth2/auth
          scopes:
            attachment.read: Retrieve attachments
            attachment.write: Upload attachments and remove attachments from transactions
            bank_account.write: Create, update and close bank accounts
            beneficiary.trust: Trust SEPA beneficiaries
            card.read: Retrieve cards
            card.write: Create or update cards
            client.read: Retrieve clients
            client.write: Create clients
            client_invoice.write: Create client invoices
            client_invoices.read: Retrieve client invoices and credit notes
            einvoicing.read: Retrieve e-invoicing settings
            embed_auth_link.write: Create Embed auth links
            insurance_contract.read: Retrieve insurance contracts
            insurance_contract.write: Create and update insurance contracts
            internal_transfer.write: >-
              Create internal transfers (between 2 Qonto accounts of the same
              organization)
            international_transfer.write: Create international transfers
            membership.read: Retrieve the authentified membership
            membership.write: Invite team members
            offline_access: Retrieve a refresh token
            organization.read: >-
              Retrieve organization, bank accounts, transactions, transfers,
              beneficiaries, labels, memberships, requests & statements
            payment.write: Create external transfers and untrust beneficiaries
            payment_link.read: >-
              Retrieve payment links, their payments, and the available payment
              methods
            payment_link.write: >-
              Connect to the payment links provider, create and deactivate
              payment links
            product.read: Retrieve products
            product.write: Create products
            request_cards.write: Create card requests
            request_review.write: Approve or decline requests
            request_transfers.write: Create transfer requests
            sepa_direct_debit.read: View SEPA Direct Debit payments
            sepa_direct_debit.write: Manage SEPA Direct Debit payments
            supplier_invoice.read: Retrieve supplier invoices
            supplier_invoice.write: Create supplier invoices
            team.read: Retrieve teams
            team.write: Create teams
            terminal.read: View your payment terminals
            terminal.write: Configure your terminals and initiate payments
            webhook: >-
              Receive a notification each time a particular event occurs in
              Qonto
          tokenUrl: https://oauth.qonto.com/oauth2/token
    SecretKey:
      type: apiKey
      description: cf. [API key](/get-started/business-api/authentication/api-key)
      name: Authorization
      in: header

````