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

# Create Recipient

> Create a new recipient to be stored on the AxisFI platform. The recipient account can either be a bank account or a crypto wallet.



## OpenAPI

````yaml /openapi.json post /api/recipients/create
openapi: 3.0.1
info:
  title: AxisFi API 接口文档
  description: 认证需同时提供 API Key 和 Secret
  version: v1.0.0
servers:
  - url: http://127.0.0.1:8083
    description: Generated server url
security:
  - X-API-Key: []
    X-API-Secret: []
paths:
  /api/recipients/create:
    post:
      tags:
        - Recipients
      summary: Create Recipient
      description: >-
        Create a new recipient to be stored on the AxisFI platform. The
        recipient account can either be a bank account or a crypto wallet.
      operationId: add
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddRecipientReqVo'
        required: true
      responses:
        '200':
          description: Operation Successful
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/RecipientDetailsRespVo'
        '400':
          description: Invalid Parameter
          content:
            application/json:
              example:
                errors:
                  - detail: <string>
                    code: <string>
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                errors:
                  - detail: <string>
                    code: <string>
        '403':
          description: Forbidden (No Permission)
          content:
            application/json:
              example:
                errors:
                  - detail: <string>
                    code: <string>
        '404':
          description: Not Found
          content:
            application/json:
              example:
                errors:
                  - detail: <string>
                    code: <string>
        '405':
          description: Method Not Allowed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorRespVo'
        '500':
          description: Internal Server Error
          content:
            application/json:
              example:
                errors:
                  - detail: <string>
                    code: <string>
components:
  schemas:
    AddRecipientReqVo:
      required:
        - business_name
        - business_type
        - country_code
        - partner_recipient_id
        - payment_details
      type: object
      properties:
        partner_recipient_id:
          maxLength: 64
          minLength: 20
          type: string
          description: Partner Assigned Recipient ID
        business_name:
          maxLength: 128
          minLength: 2
          type: string
          description: Business Name
        business_type:
          pattern: ^(Business|Individual)$
          type: string
          description: Business Type
          enum:
            - Business
            - Individual
        country_code:
          pattern: ^(CN)$
          type: string
          description: Country Code
          example: CN
          enum:
            - CN
        website:
          maxLength: 225
          type: string
          description: Website
          example: https://www.example.com
        address_info:
          $ref: '#/components/schemas/address_info'
        payment_details:
          oneOf:
            - $ref: '#/components/schemas/BankAccount'
            - $ref: '#/components/schemas/CryptoAccount'
        file_id_list:
          maxItems: 10
          minItems: 0
          type: array
          description: List of file IDs
          items:
            type: string
            description: List of file IDs
    RecipientDetailsRespVo:
      required:
        - business_name
        - business_type
        - country_code
        - partner_recipient_id
      type: object
      properties:
        recipient_id:
          type: string
          description: Unique Recipient ID
          example: rcp_ff624a5b02d44c98af91698e0bc69118
        partner_recipient_id:
          maxLength: 64
          minLength: 20
          type: string
          description: Partner Assigned Recipient ID
        status:
          type: string
          description: Status
          example: active
          enum:
            - pending
            - active
            - rejected
            - suspended
        business_name:
          maxLength: 128
          minLength: 2
          type: string
          description: Business Name
        business_type:
          pattern: ^(Business|Individual)$
          type: string
          description: Business Type
          enum:
            - Business
            - Individual
        country_code:
          pattern: ^(CN)$
          type: string
          description: Country Code
          example: CN
          enum:
            - CN
        website:
          maxLength: 225
          type: string
          description: Website
          example: https://www.example.com
        created_at:
          type: string
          format: date-time
        address_info:
          $ref: '#/components/schemas/AddressInfo'
        payment_details:
          $ref: '#/components/schemas/AccountType'
        file_id_list:
          maxItems: 10
          minItems: 0
          type: array
          description: List of file IDs
          items:
            type: string
            description: List of file IDs
    ErrorRespVo:
      type: object
      properties:
        errors:
          type: array
          description: 错误信息列表
          items:
            $ref: '#/components/schemas/ErrorDetailRespVo'
      description: 错误响应结果
    address_info:
      type: object
      properties:
        address_line_1:
          maxLength: 255
          minLength: 0
          type: string
          description: Address Line 1
        address_line_2:
          maxLength: 255
          minLength: 0
          type: string
          description: Address Line 2
        city:
          maxLength: 64
          minLength: 0
          type: string
          description: City
        state:
          maxLength: 64
          minLength: 0
          type: string
          description: State/Province
        post_code:
          maxLength: 16
          minLength: 3
          type: string
          description: Post Code
      description: Address Information
    BankAccount:
      required:
        - account_currency
        - account_name
        - account_number
        - bank_name
        - country_code
        - network
        - swift_code
      type: object
      allOf:
        - $ref: '#/components/schemas/AccountType'
        - type: object
          properties:
            bank_name:
              maxLength: 128
              minLength: 2
              type: string
              description: Bank Name
              example: JPMorgan Chase
            network:
              maxLength: 32
              minLength: 2
              pattern: ^(SWIFT|ACH|SEPA|RTGS|FPS)$
              type: string
              description: Network
              example: SWIFT
            payment_method:
              pattern: ^(INTERNATIONAL_WIRE|LOCAL)$
              type: string
              description: Payment Method
              example: INTERNATIONAL_WIRE
            account_name:
              maxLength: 128
              minLength: 2
              type: string
              description: Account Name
            account_number:
              maxLength: 64
              minLength: 8
              pattern: ^[A-Z0-9]+$
              type: string
              description: Account Number
            swift_code:
              maxLength: 11
              minLength: 8
              pattern: ^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$
              type: string
              description: SWIFT/BIC Code
            account_currency:
              maxLength: 3
              minLength: 3
              type: string
              description: Account Currency
              example: USD
            country_code:
              pattern: ^(CN)$
              type: string
              description: Country Code
              example: CN
              enum:
                - CN
            local_bank_code:
              maxLength: 23
              minLength: 3
              type: string
              description: Local Bank Code
    CryptoAccount:
      required:
        - currency
        - network
        - wallet_address
        - wallet_name
      type: object
      allOf:
        - $ref: '#/components/schemas/AccountType'
        - type: object
          properties:
            wallet_name:
              maxLength: 128
              minLength: 2
              type: string
              description: Wallet Name
            wallet_address:
              maxLength: 64
              minLength: 26
              pattern: ^[a-zA-Z0-9]+$
              type: string
              description: Wallet Address
            network:
              maxLength: 32
              minLength: 2
              pattern: ^(ETH|TRX)$
              type: string
              description: Blockchain Network
              example: ETH
              enum:
                - ETH,TRX
            currency:
              maxLength: 10
              minLength: 2
              pattern: ^[A-Z0-9]+$
              type: string
              description: Currency
              example: USDT
              enum:
                - USDT,USDC
    AddressInfo:
      type: object
      properties:
        address_line_1:
          maxLength: 255
          minLength: 0
          type: string
          description: Address Line 1
        address_line_2:
          maxLength: 255
          minLength: 0
          type: string
          description: Address Line 2
        city:
          maxLength: 64
          minLength: 0
          type: string
          description: City
        state:
          maxLength: 64
          minLength: 0
          type: string
          description: State/Province
        post_code:
          maxLength: 16
          minLength: 3
          type: string
          description: Post Code
      description: Address Information
    AccountType:
      required:
        - account_type
      type: object
      properties:
        account_type:
          type: string
      description: Payment details
      discriminator:
        propertyName: account_type
        mapping:
          bank:
            $ref: '#/components/schemas/BankAccount'
          crypto:
            $ref: '#/components/schemas/CryptoAccount'
      oneOf:
        - $ref: '#/components/schemas/BankAccount'
        - $ref: '#/components/schemas/CryptoAccount'
    ErrorDetailRespVo:
      type: object
      properties:
        detail:
          type: string
          description: 错误详细描述
          example: Invalid organizationId
        code:
          type: string
          description: 错误码
          example: ORG_ID_INVALID
      description: 错误详情
  securitySchemes:
    X-API-Key:
      type: apiKey
      description: Includes an API key in the HTTP headers to authenticate the client.
      name: X-API-Key
      in: header
    X-API-Secret:
      type: apiKey
      description: Includes an API secret in the HTTP headers to authenticate the client.
      name: X-API-Secret
      in: header

````