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

# Add a Payee Bank

> Adds a cross-border bank account for a payee.

Identify the payee by `payee_id`. Send the bank details — `account_number`, `country` (ISO2),
`bank_acc_type`, `identifier_type`, `identifier_value`, an optional `bank_nick_name` and an optional
`payout_bank_id`. Each field only accepts values within the maximum length allowed by the payee rules
for the destination country — see `GET /cross-border/payee-rules`. Returns the created cross-border bank.



## OpenAPI

````yaml POST /api/platform/cross-border/payee/bank/{user_id}
openapi: 3.1.0
info:
  title: paywint
  version: 0.1.0
servers:
  - url: https://api.paywint.com
  - url: https://api.sandbox.paywint.com
security: []
paths:
  /api/platform/cross-border/payee/bank/{user_id}:
    post:
      tags:
        - Platform Cross-Border
      summary: Add a Payee Bank
      description: >-
        Adds a cross-border bank account for a payee.


        Identify the payee by `payee_id`. Send the bank details —
        `account_number`, `country` (ISO2),

        `bank_acc_type`, `identifier_type`, `identifier_value`, an optional
        `bank_nick_name` and an optional

        `payout_bank_id`. Each field only accepts values within the maximum
        length allowed by the payee rules

        for the destination country — see `GET /cross-border/payee-rules`.
        Returns the created cross-border bank.
      operationId: add_payee_bank_api_platform_cross_border_payee_bank__user_id__post
      parameters:
        - name: user_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: >-
              Unique identifier (UUID) of the platform user who owns the payee
              bank.
            title: User Id
          description: >-
            Unique identifier (UUID) of the platform user who owns the payee
            bank.
          example: f47ac10b-****-****-****-0e02b2c3d479
        - name: X-Platform-ID
          in: header
          required: true
          schema:
            type: string
            format: uuid
            description: >-
              Unique platform identifier (UUID). You receive this during
              onboarding. Must be sent with every API request.
            title: X-Platform-Id
          description: >-
            Unique platform identifier (UUID). You receive this during
            onboarding. Must be sent with every API request.
        - name: X-Signature
          in: header
          required: true
          schema:
            type: string
            description: >-
              HMAC-SHA256 request signature for authentication. Use your
              platform secret key to compute it as: `METHOD + PATH + QUERY +
              BODY_HASH`.
            title: X-Signature
          description: >-
            HMAC-SHA256 request signature for authentication. Use your platform
            secret key to compute it as: `METHOD + PATH + QUERY + BODY_HASH`.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlatformInternationalBankCreate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CommonResponse_PlatformCrossBorderBankRead_
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    PlatformInternationalBankCreate:
      properties:
        payee_id:
          type: string
          format: uuid
          title: Payee Id
          description: Payee's user id.
          example: f47ac10b-****-****-****-0e02b2c3d479
        bank_nick_name:
          type: string
          maxLength: 100
          minLength: 1
          title: Bank Nick Name
          description: Nickname for the payee bank.
          example: HDFC savings
        account_number:
          type: string
          maxLength: 64
          title: Account Number
        country:
          type: string
          maxLength: 80
          title: Country
          description: Payee country ISO2.
          example: IN
        bank_acc_type:
          $ref: '#/components/schemas/UnitellerBankAccountType'
          example: savings
        identifier_value:
          type: string
          maxLength: 64
          title: Identifier Value
          description: >-
            Bank identifier value for the country (IFSC for India, BSB for
            Australia, routing number for the US, etc.).
          example: SBIN0000123
        payout_bank_id:
          anyOf:
            - type: string
              maxLength: 40
            - type: 'null'
          title: Payout Bank Id
          description: >-
            Payout bank id — only enter this for Pakistan. For every other
            country it is optional and can be omitted.
          example: '921874'
      type: object
      required:
        - payee_id
        - bank_nick_name
        - account_number
        - country
        - bank_acc_type
        - identifier_value
      title: PlatformInternationalBankCreate
      description: >-
        Platform-side add cross-border payee bank request — stores the payee's
        bank details.


        The payer is NOT fixed here: it is supplied at payout time, and the
        payer's mandatory fields are

        fetched from the payer rules and validated on each payout. So this
        request carries only the core

        bank fields plus the owning payee (`payee_id`).
    CommonResponse_PlatformCrossBorderBankRead_:
      properties:
        success:
          type: boolean
          title: Success
          description: Indicates whether the request was processed successfully.
          default: true
          example: true
        message:
          type: string
          title: Message
          description: >-
            A short, human-readable message describing the result of the
            request.
          default: Success
          example: Operation completed.
        data:
          anyOf:
            - $ref: '#/components/schemas/PlatformCrossBorderBankRead'
            - type: 'null'
          description: The main response payload, if applicable
        queryGeneratedTime:
          anyOf:
            - type: number
            - type: 'null'
          title: Querygeneratedtime
          description: >-
            The Unix timestamp (in seconds) indicating when the response was
            generated.
          default: 1783409763.80796
          example: 1718006400
      type: object
      title: CommonResponse[PlatformCrossBorderBankRead]
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    UnitellerBankAccountType:
      type: string
      enum:
        - savings
        - current
        - no_needed
      title: UnitellerBankAccountType
      description: >-
        Beneficiary bank account type. Mapped to the Uniteller `bankAccType`
        code at payout time

        (savings -> AHO, current -> CTE, no_needed -> NON).
    PlatformCrossBorderBankRead:
      properties:
        bank_id:
          type: string
          format: uuid
          title: Bank Id
          description: Saved payee bank id (use as `to_bank_id` when creating a payment).
          example: 2d8c5ca1-98cb-42f7-8c1e-70a2b0b8e8f1
        bank_nick_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Bank Nick Name
          description: Nickname for the payee bank.
        account_number:
          type: string
          title: Account Number
          description: Payee bank account number.
          example: '1234567890'
        country:
          type: string
          title: Country
          description: Payee country ISO2.
          example: IN
        bank_acc_type:
          $ref: '#/components/schemas/UnitellerBankAccountType'
          description: Bank account type.
          example: savings
        bank_identifier_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Bank Identifier Type
          description: >-
            Bank identifier label for the country (e.g. IFSC for India, BSB for
            Australia).
          example: IFSC
        bank_identifier_value:
          anyOf:
            - type: string
            - type: 'null'
          title: Bank Identifier Value
          description: Bank identifier value.
          example: SBIN0000123
        created_at:
          type: string
          format: date-time
          title: Created At
          description: When the payee bank was created.
        updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updated At
          description: When the payee bank was last updated.
      type: object
      required:
        - bank_id
        - account_number
        - country
        - bank_acc_type
        - created_at
      title: PlatformCrossBorderBankRead
      description: >-
        Cross-border payee bank response — returns only the saved bank fields
        plus the record's id

        and timestamps. Deliberately omits the internal user/contact/row ids
        (the payee is identified by

        `payee_id` on the request, never surfaced back).
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError

````