Skip to main content
Perform a payout in a single call: a transfer followed by a dynamic payout destination selected by payoutType (VC_PURCHASE -> virtual card purchase, WITHDRAW -> withdrawal). Authenticated with the operator’s application (Basic auth) credentials — the same boundary that protects operator funds on application-sent transfers. The transfer moves funds from the operator to the destination user (transfer.destination.externalReferenceId). The destination leg is authorized against that user’s standing OAuth grant: the user must have granted this application the payout destination scope for the requested payoutType (CREATE_VIRTUALCARD for VC_PURCHASE, MAKE_WITHDRAWAL for WITHDRAW). No live user token is required or accepted. If the transfer fails, the mutation errors and no funds move. If the transfer succeeds but the payout destination fails, the response returns success: false with the transfer marked SUCCEEDED and the payout destination FAILED (partial success — the transfer is not rolled back). The caller must present the operator’s application (Basic auth) credentials. The destination scope is checked against the recipient user’s OAuth grant, not against the caller’s own token, because the caller is the operator, not the user being paid.

Arguments

CreatePayoutInput!
required
No description provided in the schema yet.

Returns

CreatePayoutResponse — Response for the createPayout mutation.