> ## 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 name="idempotencyKey" type="UUID!" required>
  A unique client-generated UUID to ensure a request is processed only once.
</ParamField>

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

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

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

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

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

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

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

<ParamField name="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>
