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

# Create a settlement account

> Adds one of the merchant's own bank accounts to receive funds. It is APPROVED automatically only when Equals has given the merchant the top-up permission or the account is an Equals account; otherwise it is PENDING until Equals approves or rejects it. It becomes the default if the merchant has no other. Full bank details are never returned. Returns 400 if `bankId` is not a listed bank.



## OpenAPI

````yaml /autogenerated/openapi/roqqett.openapi.json post /roqqett/settlement-accounts
openapi: 3.1.0
info:
  title: Roqqett API
  version: 2.0.0
  description: Version 2
  license:
    name: UNLICENSED
    url: https://docs.equalsmoney.com
servers:
  - url: https://api.equalsmoney.com/v2
    description: Production
security: []
paths:
  /roqqett/settlement-accounts:
    post:
      tags:
        - Settlement Accounts
      summary: Create a settlement account
      description: >-
        Adds one of the merchant's own bank accounts to receive funds. It is
        APPROVED automatically only when Equals has given the merchant the
        top-up permission or the account is an Equals account; otherwise it is
        PENDING until Equals approves or rejects it. It becomes the default if
        the merchant has no other. Full bank details are never returned. Returns
        400 if `bankId` is not a listed bank.
      operationId: createSettlementAccount
      parameters:
        - name: accountId
          in: query
          schema:
            description: The ID of the account to work with.
            type:
              - string
            example: F50091
          required: true
      requestBody:
        description: Body
        content:
          application/json:
            schema:
              type:
                - object
              properties:
                name:
                  type:
                    - string
                  minLength: 1
                  maxLength: 18
                  pattern: ^[a-zA-Z0-9\s&]+$
                  description: >-
                    The merchant's name for the account. Letters, digits, spaces
                    and `&` only.
                  example: Main account
                currencyCode:
                  type:
                    - string
                  enum:
                    - GBP
                    - EUR
                  description: >-
                    ISO-4217 code of a currency Roqqett can take payments in:
                    GBP over Faster Payments, EUR over SEPA Instant.
                  example: GBP
                bankDetails:
                  discriminator:
                    propertyName: type
                  oneOf:
                    - type:
                        - object
                      properties:
                        type:
                          type:
                            - string
                          enum:
                            - SORT_CODE
                        sortCode:
                          type:
                            - string
                          pattern: ^\d{6}$
                          description: UK sort code, six digits with no separators.
                          example: '040004'
                        accountNumber:
                          type:
                            - string
                          pattern: ^\d{8}$
                          description: UK account number, eight digits.
                          example: '12345678'
                      required:
                        - type
                        - sortCode
                        - accountNumber
                    - type:
                        - object
                      properties:
                        type:
                          type:
                            - string
                          enum:
                            - IBAN
                        iban:
                          type:
                            - string
                          maxLength: 34
                          pattern: ^[A-Za-z]{2}\d{2}[A-Za-z0-9]{11,30}$
                          description: >-
                            IBAN with no spaces. Lowercase is accepted and
                            uppercased.
                          example: DE89370400440532013000
                        bic:
                          type:
                            - string
                          pattern: ^[A-Za-z]{6}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                          description: >-
                            BIC of the payee's bank. Lowercase is accepted and
                            uppercased.
                          example: COBADEFFXXX
                      required:
                        - type
                        - iban
                        - bic
                  description: SORT_CODE for a GBP account, IBAN for a EUR account.
                bankId:
                  type:
                    - string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    The bank that holds the account, which refunds are paid
                    from. Can be set later.
                  example: 1ffe704d39629a929c8e293880fb449a
              required:
                - name
                - currencyCode
                - bankDetails
              example:
                name: Main account
                currencyCode: GBP
                bankDetails:
                  type: SORT_CODE
                  sortCode: '040004'
                  accountNumber: '12345678'
                bankId: 1ffe704d39629a929c8e293880fb449a
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type:
                  - object
                properties:
                  id:
                    type:
                      - string
                    format: uuid
                    maxLength: 36
                    description: >-
                      The ID of a settlement account: one of the merchant's own
                      bank accounts that SHOPPING checkouts pay into.
                    example: 5c8e2a1f-9d4b-4f7a-8e3c-1b6d0f2a9e64
                  name:
                    type:
                      - string
                      - 'null'
                    minLength: 1
                    maxLength: 18
                    description: >-
                      The merchant's name for the account. `null` when none was
                      stored.
                    example: Main account
                  currencyCode:
                    type:
                      - string
                    enum:
                      - GBP
                      - EUR
                    description: >-
                      ISO-4217 code of a currency Roqqett can take payments in:
                      GBP over Faster Payments, EUR over SEPA Instant.
                    example: GBP
                  bankDetails:
                    discriminator:
                      propertyName: type
                    oneOf:
                      - type:
                          - object
                        properties:
                          type:
                            type:
                              - string
                            enum:
                              - SORT_CODE
                          sortCode:
                            type:
                              - string
                            maxLength: 6
                            description: UK sort code.
                            example: '040004'
                          accountNumberLastFour:
                            type:
                              - string
                            minLength: 4
                            maxLength: 4
                            description: Last four digits of the account number.
                            example: '5678'
                        required:
                          - type
                          - sortCode
                          - accountNumberLastFour
                      - type:
                          - object
                        properties:
                          type:
                            type:
                              - string
                            enum:
                              - IBAN
                          ibanLastFour:
                            type:
                              - string
                            minLength: 4
                            maxLength: 4
                            description: Last four characters of the IBAN.
                            example: '3000'
                          bic:
                            type:
                              - string
                            maxLength: 11
                            description: BIC of the payee's bank.
                            example: COBADEFFXXX
                        required:
                          - type
                          - ibanLastFour
                          - bic
                  bankId:
                    type:
                      - string
                      - 'null'
                    minLength: 1
                    maxLength: 50
                    description: >-
                      The bank that holds the account, which refunds are paid
                      from. `null` until set; refunds from this account fail
                      until it is.
                    example: 1ffe704d39629a929c8e293880fb449a
                  bankName:
                    type:
                      - string
                      - 'null'
                    maxLength: 140
                    description: Name of the bank that holds the account.
                    example: Example Bank
                  approvalStatus:
                    description: >-
                      Only an APPROVED account can receive funds or be set on a
                      checkout. A new account is APPROVED automatically only
                      when Equals has given the merchant the top-up permission
                      (`canCreateTopUpCheckouts`) or the account is an Equals
                      account; otherwise it stays PENDING until Equals approves
                      or rejects it. Merchants cannot set it.
                    type:
                      - string
                    enum:
                      - PENDING
                      - APPROVED
                      - REJECTED
                    example: APPROVED
                  isDefault:
                    type:
                      - boolean
                    description: >-
                      Whether SHOPPING checkouts with no settlement account of
                      their own pay into this one. The merchant's first account
                      becomes the default.
                  checkoutIds:
                    type:
                      - array
                    items:
                      description: >-
                        The ID of a checkout: the configured payment page a
                        checkout session is taken on.
                      type:
                        - string
                      format: uuid
                      maxLength: 36
                      example: 6f1c2d0e-7a4b-4e2f-9c1d-3b5a7e9f0a12
                    description: >-
                      Checkouts that pay into this account. An account cannot be
                      deleted while any do.
                  bankConnection:
                    type:
                      - object
                    properties:
                      status:
                        type:
                          - string
                        enum:
                          - NOT_CONNECTED
                          - CONNECTED
                          - EXPIRED
                          - ERROR
                        description: >-
                          NOT_CONNECTED until a connection to an account with
                          the same sort code and account number, or IBAN and
                          BIC, is made. CONNECTED while the bank allows access;
                          EXPIRED once that access has lapsed; ERROR when the
                          bank reports a failure, or any other state. Reconnect
                          an EXPIRED or ERROR account with `POST
                          /settlement-accounts/{settlementAccountId}/ob-connections`.
                        example: CONNECTED
                      expiresAt:
                        type:
                          - string
                          - 'null'
                        format: date-time
                        description: >-
                          When the bank access granted to Roqqett expires.
                          `null` when not connected or the bank set no expiry.
                        example: '2027-01-02T12:00:00Z'
                    required:
                      - status
                      - expiresAt
                    description: >-
                      The open banking connection that lets Roqqett read this
                      account's transactions for reconciliation.
                  createdAt:
                    type:
                      - string
                    format: date-time
                    description: >-
                      The date the Resource was initially created. ISO 8601
                      format without milliseconds.
                  updatedAt:
                    type:
                      - string
                    format: date-time
                    description: >-
                      The date the Resource was last modified. ISO 8601 format
                      without milliseconds.
                required:
                  - id
                  - name
                  - currencyCode
                  - bankDetails
                  - bankId
                  - bankName
                  - approvalStatus
                  - isDefault
                  - checkoutIds
                  - bankConnection
                  - createdAt
                  - updatedAt
                example:
                  id: 5c8e2a1f-9d4b-4f7a-8e3c-1b6d0f2a9e64
                  name: Main account
                  currencyCode: GBP
                  bankDetails:
                    type: SORT_CODE
                    sortCode: '040004'
                    accountNumberLastFour: '5678'
                  bankId: 1ffe704d39629a929c8e293880fb449a
                  bankName: Example Bank
                  approvalStatus: APPROVED
                  isDefault: true
                  checkoutIds:
                    - 6f1c2d0e-7a4b-4e2f-9c1d-3b5a7e9f0a12
                  bankConnection:
                    status: CONNECTED
                    expiresAt: '2027-01-02T12:00:00Z'
                  createdAt: '2019-08-24T14:15:22Z'
                  updatedAt: '2019-08-24T14:15:22Z'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type:
                  - object
                properties:
                  message:
                    type:
                      - string
                    maxLength: 1024
                    description: Human-readable error description.
                    example: Checkout session not found.
                  errors:
                    type:
                      - array
                    items:
                      type:
                        - object
                      properties:
                        path:
                          type:
                            - string
                          description: The location of the bad parameter.
                        message:
                          type:
                            - string
                          description: Description of why the validation failed.
                        errorCode:
                          type:
                            - string
                          description: Where the error occurred.
                      required:
                        - path
                        - message
                      description: An object containing details about one particular error.
                required:
                  - message
                  - errors
                example:
                  message: Checkout session not found.
                  errors:
                    - path: string
                      message: string
                      errorCode: string
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type:
                  - object
                properties:
                  message:
                    type:
                      - string
                    maxLength: 1024
                    description: Human-readable error description.
                    example: Checkout session not found.
                  errors:
                    type:
                      - array
                    items:
                      type:
                        - object
                      properties:
                        path:
                          type:
                            - string
                          description: The location of the bad parameter.
                        message:
                          type:
                            - string
                          description: Description of why the validation failed.
                        errorCode:
                          type:
                            - string
                          description: Where the error occurred.
                      required:
                        - path
                        - message
                      description: An object containing details about one particular error.
                required:
                  - message
                  - errors
                example:
                  message: Checkout session not found.
                  errors:
                    - path: string
                      message: string
                      errorCode: string
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type:
                  - object
                properties:
                  message:
                    type:
                      - string
                    maxLength: 1024
                    description: Human-readable error description.
                    example: Checkout session not found.
                  errors:
                    type:
                      - array
                    items:
                      type:
                        - object
                      properties:
                        path:
                          type:
                            - string
                          description: The location of the bad parameter.
                        message:
                          type:
                            - string
                          description: Description of why the validation failed.
                        errorCode:
                          type:
                            - string
                          description: Where the error occurred.
                      required:
                        - path
                        - message
                      description: An object containing details about one particular error.
                required:
                  - message
                  - errors
                example:
                  message: Checkout session not found.
                  errors:
                    - path: string
                      message: string
                      errorCode: string
      security:
        - CommonAuth:
            - roqqett:settlement-accounts:create:any
      x-codeSamples:
        - lang: Shell
          label: cURL
          source: |-
            curl --request POST \
              --url 'https://api.equalsmoney.com/v2/roqqett/settlement-accounts?accountId={{accountId}}' \
              --header 'Authorization: <api-key>' \
              --header 'Content-Type: application/json' \
              --data '
            {
              "name": "Main account",
              "currencyCode": "GBP",
              "bankDetails": {
                "type": "SORT_CODE",
                "sortCode": "040004",
                "accountNumber": "12345678"
              },
              "bankId": "1ffe704d39629a929c8e293880fb449a"
            }
            '
components:
  securitySchemes:
    CommonAuth:
      type: apiKey
      in: header
      name: Authorization

````