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

# Create Transfer

> Initiate a payout transfer to a registered beneficiary



## OpenAPI

````yaml post /v1/transfers
openapi: 3.1.1
info:
  title: HitPay API
  description: >-
    Accept PayNow, FPX, QRIS, GrabPay, cards, and 40+ payment methods with a
    single API. Production base URL: https://api.hit-pay.com, Sandbox:
    https://api.sandbox.hit-pay.com
  version: '1.0'
servers:
  - url: https://api.hit-pay.com
    description: Production
  - url: https://api.sandbox.hit-pay.com
    description: Sandbox
security: []
paths:
  /v1/transfers:
    post:
      summary: Create a new transfer
      description: Create a new transfer
      operationId: create-transfer
      parameters:
        - name: X-BUSINESS-API-KEY
          in: header
          required: true
          style: simple
          explode: false
          schema:
            type: string
            example: b286daabf9921b5a01a4621f026c111e046f8911feba212996c92159b98427d
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                beneficiary:
                  type: object
                  description: >-
                    The beneficiary information. Only required if
                    'beneficiary_id' is not set. The payload depends on the
                    country and payment method. Please refer `Create
                    Beneficiary` for addtional fields
                  externalDocs:
                    description: More info here
                    url: https://docs.hitpayapp.com/apis/payout/create-beneficiary
                  properties:
                    country:
                      type: string
                      description: The country code
                      enum:
                        - sg
                        - bd
                        - ph
                        - vn
                        - au
                    currency:
                      type: string
                      description: The currency code
                      enum:
                        - sgd
                        - bdt
                        - php
                        - vnd
                        - aud
                    transfer_method:
                      type: string
                      description: The transfer method
                    transfer_type:
                      type: string
                      description: The transfer type
                      enum:
                        - local
                      example: local
                    holder_type:
                      type: string
                      description: The Holder Type
                      enum:
                        - individual
                      example: individual
                    holder_name:
                      type: string
                      required: true
                      description: The Holder Name
                      example: John Doe
                      maxLength: 255
                beneficiary_id:
                  type: string
                  required: 'true'
                  format: uuid
                  description: >-
                    The Beneficiary id. Only required if 'beneficiary' is not
                    set.
                source_currency:
                  type: string
                  example: sgd
                  description: It is beneficiary bank account currency.
                source_amount:
                  type: number
                  minimum: 1
                  description: >-
                    The amount to be transferred. Only required if
                    'payment_amount' is not set.
                  example: 112.42
                  format: double
                payment_amount:
                  type: number
                  minimum: 1
                  description: >-
                    The amount to be transferred. Only required if
                    `source_amount` is not set.
                  example: 10000.5
                  format: double
                remitter_id:
                  type: string
                  description: >-
                    The remitter id. Only pass either `remitter` or
                    `remitter_id`.
                  example: 9b294222-3a53-427f-9393-95dc6d63ee6c
                remitter:
                  type: object
                  description: >-
                    The remitter information. Only pass either `remitter` or
                    `remitter_id`.
                  properties:
                    entity_type:
                      type: string
                      example: individual
                      enum:
                        - individual
                        - company
                    full_name:
                      type: string
                      maxLength: 255
                      example: John Doe
                    id_number:
                      type: string
                      maxLength: 255
                      example: FB123456
                    id_type:
                      type: string
                      example: passport
                      enum:
                        - passport
                        - national_id
                        - driving_license
                    date_of_birth:
                      type: string
                      maxLength: 255
                      example: '1990-01-01'
                      format: date
                    place_of_birth:
                      type: string
                      example: Singapore
                    nationality:
                      type: string
                      description: 2 letter code, lowercase
                      minLength: 2
                      maxLength: 2
                      example: sg
                    contact_number:
                      type: string
                      maxLength: 100
                      example: '+6598765432'
                    email:
                      type: string
                      maxLength: 255
                      example: abc@gmail.com
                    address:
                      type: object
                      properties:
                        street_address:
                          type: string
                          maxLength: 255
                          example: 1 Keong Saik Road
                        city:
                          type: string
                          maxLength: 100
                          example: Singapore
                        state:
                          type: string
                          maxLength: 100
                          example: SG
                        postal_code:
                          type: string
                          maxLength: 30
                          example: '089109'
                        country:
                          type: string
                          description: 2 letter code, lowercase
                          minLength: 2
                          maxLength: 2
                          example: sg
                      required:
                        - street
                        - city
                        - state
                        - postcode
                    company_name:
                      type: string
                      maxLength: 255
                      description: Only required if entity_type is company
                      example: HitPay Pte Ltd
                remark:
                  type: string
                  maxLength: 120
                  description: Transfer note for internal use only
                reference:
                  type: string
                  maxLength: 120
                  description: The reference for the transfer
            examples:
              Result:
                value:
                  beneficiary_id: 9e64eb6c-90dd-45e0-afaf-bd9fa0253674
                  source_currency: sgd
                  source_amount: 112.42
                  payment_amount: 10000.5
                  remitter:
                    entity_type: company
                    full_name: Test Sender
                    id_number: FB123456
                    id_type: passport
                    date_of_birth: '1990-10-28'
                    place_of_birth: Singapore
                    nationality: sg
                    contact_number: '+6598644718'
                    email: email@gmail.com
                    address:
                      street_address: 1 Keong Saik Road
                      city: Singapore
                      state: Singapore
                      postal_code: '089109'
                      country: sg
                    company_name: HitPay
      responses:
        '201':
          description: '201'
          content:
            application/json:
              examples:
                Result:
                  value:
                    id: 9e64f9b8-0039-4bc1-bb98-be1c88212a7e
                    beneficiary:
                      id: 9e64eb6c-90dd-45e0-afaf-bd9fa0253674
                      status: approved
                      country: bd
                      currency: bdt
                      transfer_method: local
                      holder_name: SHAH ALAM HERA
                      holder_type: individual
                      account_number: '1503201781283001'
                      bank_name: BRAC Bank Ltd.
                      bank_id: brc-20
                      email: null
                      bank_routing_number: '060261726'
                      created_at: '2025-03-10T07:27:16+08:00'
                      updated_at: '2025-03-10T07:27:18+08:00'
                    payment_currency: bdt
                    payment_amount: 10000.5
                    source_currency: sgd
                    source_amount: 112.42
                    exchange_rate: '88.949505'
                    fee:
                      amount: 0
                      currency: sgd
                      paid_by: payer
                    status: scheduled
                    created_at: '2025-03-10T08:07:15+08:00'
              schema:
                type: object
                properties:
                  id:
                    type: string
                  beneficiary:
                    type: object
                    properties:
                      id:
                        type: string
                      status:
                        type: string
                      country:
                        type: string
                      currency:
                        type: string
                      transfer_method:
                        type: string
                      holder_name:
                        type: string
                      holder_type:
                        type: string
                      account_number:
                        type: string
                      bank_name:
                        type: string
                      bank_id:
                        type: string
                      email:
                        type:
                          - string
                          - 'null'
                      bank_routing_number:
                        type: string
                      created_at:
                        type: string
                      updated_at:
                        type: string
                    required:
                      - id
                      - status
                      - country
                      - currency
                      - transfer_method
                      - holder_name
                      - holder_type
                      - account_number
                      - bank_name
                      - bank_id
                      - email
                      - bank_routing_number
                      - created_at
                      - updated_at
                  payment_currency:
                    type: string
                  payment_amount:
                    type: number
                  source_currency:
                    type: string
                  source_amount:
                    type: number
                  exchange_rate:
                    type: string
                  fee:
                    type: object
                    properties:
                      amount:
                        type: number
                      currency:
                        type: string
                      paid_by:
                        type: string
                        enum:
                          - payer
                          - beneficiary
                    required:
                      - amount
                      - currency
                      - paid_by
                  status:
                    type: string
                    enum:
                      - scheduled
                      - processing
                      - paid
                      - failed
                      - canceled
                  created_at:
                    type: string
                required:
                  - id
                  - beneficiary
                  - payment_currency
                  - payment_amount
                  - source_currency
                  - source_amount
                  - exchange_rate
                  - fee
                  - status
                  - created_at
        '422':
          description: '422'
          content:
            application/json:
              examples:
                Result:
                  value:
                    message: >-
                      The beneficiary id field is required when beneficiary is
                      not present. (and 4 more errors)
                    errors:
                      beneficiary_id:
                        - >-
                          The beneficiary id field is required when beneficiary
                          is not present.
                      beneficiary:
                        - >-
                          The beneficiary field is required when beneficiary id
                          is not present.
                      source_currency:
                        - The source currency field is required.
                      source_amount:
                        - >-
                          The source amount field is required when payment
                          amount is not present.
                      payment_amount:
                        - >-
                          The payment amount field is required when source
                          amount is not present.
      deprecated: false

````