> ## 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 Payee Bank Account

> Add a bank account for a specific payee.

This endpoint enables platforms to:
- Register a new bank account for a payee associated with a user
- Store account details of payee



## OpenAPI

````yaml POST /api/platform/accounts/add-payee-account/{user_id}
openapi: 3.1.0
info:
  title: paywint
  version: 0.1.0
servers:
  - url: http://localhost:8001
  - url: https://api.pw.wintpay.com
  - url: https://test.pw.wintpay.com
  - url: https://api.sandbox.paywint.com
security: []
paths:
  /api/platform/accounts/add-payee-account/{user_id}:
    post:
      tags:
        - Platform Accounts
      summary: Add payee account
      description: |-
        Add a bank account for a specific payee.

        This endpoint enables platforms to:
        - Register a new bank account for a payee associated with a user
        - Store account details of payee
      operationId: add_payee_account_api_platform_accounts_add_payee_account__user_id__post
      parameters:
        - name: user_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: Unique identifier (UUID) of the user
            title: User Id
          description: Unique identifier (UUID) of the user
          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/ExternalContactBankAccountCreate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CommonResponse_ExternalContactBankAccountRead_
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ExternalContactBankAccountCreate:
      properties:
        payee_id:
          type: string
          format: uuid4
          title: Payee Id
          description: >-
            Unique identifier (UUID) of the payee to whom this bank account
            belongs.
          example: f47ac10b-****-****-****-0e02b2c3d479
        account_holder_name:
          type: string
          maxLength: 100
          title: Account Holder Name
          description: Full name of the account holder as it appears on the bank account.
          example: John A. Doe
        account_type:
          $ref: '#/components/schemas/ExternalAccountType'
          description: >-
            Type of account used to classify personal or business
            checking/savings.
          example: PERSONAL_CHECKING
        bank_nick_name:
          type: string
          maxLength: 100
          title: Bank Nick Name
          description: >-
            User-defined nickname to help identify this bank account (e.g.,
            'Payroll Account').
          example: Personal Checking - Wells Fargo
        account_number:
          type: string
          maxLength: 20
          title: Account Number
          description: >-
            Actual bank account number. Must be a valid number and stored
            securely.
          example: 62**56**90**75
        routing_number:
          type: string
          maxLength: 9
          title: Routing Number
          description: 9-digit ABA routing number of the financial institution.
          example: 021****21
        account_holder_address:
          anyOf:
            - type: string
              maxLength: 500
            - type: 'null'
          title: Account Holder Address
          description: Account holder address line 1 (required for RTP payouts).
          example: 123 Main St
        account_holder_city:
          anyOf:
            - type: string
              maxLength: 50
            - type: 'null'
          title: Account Holder City
          description: Account holder city (required for RTP payouts).
          example: New York
        account_holder_state:
          anyOf:
            - type: string
              maxLength: 50
            - type: 'null'
          title: Account Holder State
          description: Account holder state (required for RTP payouts).
          example: NY
        account_holder_zip:
          anyOf:
            - type: string
              maxLength: 50
            - type: 'null'
          title: Account Holder Zip
          description: Account holder ZIP/postal code (required for RTP payouts).
          example: '10001'
        account_holder_country:
          anyOf:
            - type: string
              maxLength: 50
            - type: 'null'
          title: Account Holder Country
          description: Account holder country (required for RTP payouts).
          example: US
      type: object
      required:
        - payee_id
        - account_holder_name
        - account_type
        - bank_nick_name
        - account_number
        - routing_number
      title: ExternalContactBankAccountCreate
    CommonResponse_ExternalContactBankAccountRead_:
      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/ExternalContactBankAccountRead'
            - 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: 1782303609.673092
          example: 1718006400
      type: object
      title: CommonResponse[ExternalContactBankAccountRead]
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ExternalAccountType:
      type: string
      enum:
        - PERSONAL_SAVINGS
        - BUSINESS_SAVINGS
        - BUSINESS_CHECKING
        - PERSONAL_CHECKING
      title: ExternalAccountType
    ExternalContactBankAccountRead:
      properties:
        payee_id:
          anyOf:
            - type: string
              format: uuid4
            - type: 'null'
          title: Payee Id
          description: Unique identifier (UUID) of the payee linked to this account.
          example: f47ac10b-****-****-****-0e02b2c3d479
        bank_id:
          type: string
          format: uuid4
          title: Bank Id
          description: Unique identifier (UUID) of the bank account record.
          example: f47ac10b-****-****-****-0e02b2c3d479
        account_holder_name:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
          title: Account Holder Name
          description: Full name of the account holder.
          example: John A. Doe
        account_type:
          anyOf:
            - $ref: '#/components/schemas/ExternalAccountType'
            - type: 'null'
          description: Type of account (e.g., PERSONAL_CHECKING, BUSINESS_SAVINGS).
          example: PERSONAL_CHECKING
        bank_nick_name:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
          title: Bank Nick Name
          description: Label or nickname assigned to the bank account for user reference.
          example: Personal Bank
        account_number:
          anyOf:
            - type: string
              maxLength: 20
            - type: 'null'
          title: Account Number
          description: Bank account number for display.
          example: 62**56**90**75
        routing_number:
          anyOf:
            - type: string
              maxLength: 9
            - type: 'null'
          title: Routing Number
          description: 9-digit routing number of the financial institution.
          example: 021****21
        account_holder_address:
          anyOf:
            - type: string
              maxLength: 500
            - type: 'null'
          title: Account Holder Address
          description: Account holder address line 1.
          example: 123 Main St
        account_holder_city:
          anyOf:
            - type: string
              maxLength: 50
            - type: 'null'
          title: Account Holder City
          description: Account holder city.
          example: New York
        account_holder_state:
          anyOf:
            - type: string
              maxLength: 50
            - type: 'null'
          title: Account Holder State
          description: Account holder state.
          example: NY
        account_holder_zip:
          anyOf:
            - type: string
              maxLength: 50
            - type: 'null'
          title: Account Holder Zip
          description: Account holder ZIP/postal code.
          example: '10001'
        account_holder_country:
          anyOf:
            - type: string
              maxLength: 50
            - type: 'null'
          title: Account Holder Country
          description: Account holder country.
          example: US
      type: object
      required:
        - bank_id
      title: ExternalContactBankAccountRead
    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

````