> ## 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 payee

> Adds a bank account that TOP_UP checkout sessions can pay into. Returns 201 for a new payee, or 200 with the existing payee when the same bank details are already on the account. Full bank details are never returned. A new payee is APPROVED automatically only when Equals has given the merchant the top-up permission or the payee is an Equals account; otherwise it is PENDING until Equals approves or rejects it.



## OpenAPI

````yaml /autogenerated/openapi/roqqett.openapi.json post /roqqett/payees
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/payees:
    post:
      tags:
        - Payees
      summary: Create a payee
      description: >-
        Adds a bank account that TOP_UP checkout sessions can pay into. Returns
        201 for a new payee, or 200 with the existing payee when the same bank
        details are already on the account. Full bank details are never
        returned. A new payee is APPROVED automatically only when Equals has
        given the merchant the top-up permission or the payee is an Equals
        account; otherwise it is PENDING until Equals approves or rejects it.
      operationId: createPayee
      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: 140
                  description: Account holder name, as the payee's bank holds it.
                  example: Example Holdings Ltd
                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 GBP payees, IBAN for EUR payees.
              required:
                - name
                - currencyCode
                - bankDetails
              example:
                name: Example Holdings Ltd
                currencyCode: GBP
                bankDetails:
                  type: SORT_CODE
                  sortCode: '040004'
                  accountNumber: '12345678'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type:
                  - object
                properties:
                  id:
                    type:
                      - string
                    format: uuid
                    maxLength: 36
                    description: >-
                      The ID of a payee: the bank account a top-up checkout
                      session pays into.
                    example: d2a7c9e1-5b3f-4a8d-9e6c-1f0b2a4c8e57
                  name:
                    type:
                      - string
                    maxLength: 140
                    description: Account holder name.
                    example: Example Holdings Ltd
                  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
                  approvalStatus:
                    description: >-
                      Only an APPROVED payee can be paid. A new payee is
                      APPROVED automatically only when Equals has given the
                      merchant the top-up permission (`canCreateTopUpCheckouts`)
                      or the payee 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
                  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
                  - approvalStatus
                  - createdAt
                  - updatedAt
                example:
                  id: d2a7c9e1-5b3f-4a8d-9e6c-1f0b2a4c8e57
                  name: Example Holdings Ltd
                  currencyCode: GBP
                  bankDetails:
                    type: SORT_CODE
                    sortCode: '040004'
                    accountNumberLastFour: '5678'
                  approvalStatus: APPROVED
                  createdAt: '2019-08-24T14:15:22Z'
                  updatedAt: '2019-08-24T14:15:22Z'
        '201':
          description: Created
          content:
            application/json:
              schema:
                type:
                  - object
                properties:
                  id:
                    type:
                      - string
                    format: uuid
                    maxLength: 36
                    description: >-
                      The ID of a payee: the bank account a top-up checkout
                      session pays into.
                    example: d2a7c9e1-5b3f-4a8d-9e6c-1f0b2a4c8e57
                  name:
                    type:
                      - string
                    maxLength: 140
                    description: Account holder name.
                    example: Example Holdings Ltd
                  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
                  approvalStatus:
                    description: >-
                      Only an APPROVED payee can be paid. A new payee is
                      APPROVED automatically only when Equals has given the
                      merchant the top-up permission (`canCreateTopUpCheckouts`)
                      or the payee 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
                  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
                  - approvalStatus
                  - createdAt
                  - updatedAt
                example:
                  id: d2a7c9e1-5b3f-4a8d-9e6c-1f0b2a4c8e57
                  name: Example Holdings Ltd
                  currencyCode: GBP
                  bankDetails:
                    type: SORT_CODE
                    sortCode: '040004'
                    accountNumberLastFour: '5678'
                  approvalStatus: APPROVED
                  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:payees:create:any
      x-codeSamples:
        - lang: Shell
          label: cURL
          source: |-
            curl --request POST \
              --url 'https://api.equalsmoney.com/v2/roqqett/payees?accountId={{accountId}}' \
              --header 'Authorization: <api-key>' \
              --header 'Content-Type: application/json' \
              --data '
            {
              "name": "Example Holdings Ltd",
              "currencyCode": "GBP",
              "bankDetails": {
                "type": "SORT_CODE",
                "sortCode": "040004",
                "accountNumber": "12345678"
              }
            }
            '
components:
  securitySchemes:
    CommonAuth:
      type: apiKey
      in: header
      name: Authorization

````