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

# CreateTransferInput

> Represents the request payload for creating a transfer.

**Input object**

Represents the request payload for creating a transfer.
The sender is always determined from the authentication credentials.

## Input fields

<ParamField body="idempotencyKey" type="UUID!" required>
  A unique client-generated UUID to ensure a request is processed only once.
</ParamField>

<ParamField body="amount" type="Float!" required>
  The amount to transfer (must be positive).
</ParamField>

<ParamField body="destination" type="TransferDestination">
  The destination for the transfer.
  For public applications, defaults to the application operator if omitted.
</ParamField>

<ParamField body="bankCardId" type="UUID">
  Bank card ID to fund the transfer. At most one funding source allowed.
</ParamField>

<ParamField body="bankAccountId" type="UUID">
  Bank account ID to fund the transfer via ACH. At most one funding source allowed.
</ParamField>

<ParamField body="paypalVaultId" type="UUID">
  PayPal vault ID to fund the transfer via PayPal. At most one funding source allowed.
</ParamField>

<ParamField body="memo" type="String">
  Optional memo to attach to this transfer transaction.
</ParamField>

<ParamField body="transactionCategory" type="String">
  Optional category name to attach to this transfer transaction.
</ParamField>

<ParamField body="attachmentId" type="String">
  ID of a previously uploaded attachment (PDF or PNG). Use the /api/v1/file-upload/transaction-memo-attachment endpoint to upload.
</ParamField>
