“Requirement: Your application must be a public app.”
Quick Start
Send $10 from a user to your application:Authentication
Transfers support two authentication methods. The method you choose determines who the sender is.Bearer Token
Use a user OAuth token obtained viagenerateUserAccessToken or through the OAuth refresh flow. The token must include the MAKE_PAYOUT_TRANSFER_SEND scope.
Basic Auth
Use your application’s Api Key.Input
CreateTransferInput
“Only one of📘 See Add Expense Details for full details on uploading attachments and working with memos and categories.bankCardId,bankAccountId, orpaypalVaultIdcan be specified per request. If none is provided, the transfer draws from the sender’s spend account (and rewards whenuseRewardsBalanceistrue). External funding sources are not available with Basic Auth. Prepayment / gift-card balance is not an input on this mutation.”
TransferDirection
Identify the recipient by account ID or by the external reference ID you assigned when creating the user. Provide one or the other, not both.“The recipient must be a registered user of your application.”
Response
Examples
Collect payment from a user (Bearer)
bankCardId, bankAccountId, or paypalVaultId to fund from an external source instead of the user’s cash balance. Pass useRewardsBalance: true to include the user’s rewards balance; see Fund account transfers with rewards.
Disburse funds to a user (Basic Auth)
externalReferenceId instead of accountId to identify the recipient by the ID you assigned.
Transfer between two users (Bearer)
Fund with rewards (Bearer)
Success response
Idempotency
Every request must include a uniqueidempotencyKey (a string you generate). If the same key is sent more than once, the API returns the result of the original request without creating a duplicate transfer. Keys are valid for 10 minutes.