Request Internal Transfer Approval

requestInternalTransfer

Submit a manager approval request to move funds between two spend accounts on the same Fluz account. When approved, Fluz executes the internal transfer.

This is different from account-to-account transfers. Use requestAccountTransfer when moving funds between Fluz accounts. See Request Account Transfer Approval.

Scopes

ActionScope
Create requestREQUEST_INTERNAL_TRANSFER
List requestsLIST_APPROVALS
Approve or declineMANAGE_APPROVALS

Webhook Identifiers

FieldValue
approvalTypePAYOUT
approvalCode500402

Webhook events: APPROVAL_CREATE, APPROVAL_APPROVE, APPROVAL_DECLINE, and APPROVAL_HANDLER_ERROR on execution failure.

Internal transfers and account transfers share the same approvalType and approvalCode. Use the original request mutation or inspect the approval payload in your integration to distinguish them.

Create a Request

RequestInternalTransferInput

FieldTypeRequiredDescription
amountFloatYesAmount to transfer. Must be greater than zero
sourceUserCashBalanceIdUUIDYesSpend account to withdraw from
destinationUserCashBalanceIdUUIDYesSpend account to deposit to

Source and destination must be different spend accounts.

Sample Mutation

mutation {
  requestInternalTransfer(
    input: {
      amount: 50.00
      sourceUserCashBalanceId: "6d1b4b19-deef-42f5-80d7-ec34804ce090"
      destinationUserCashBalanceId: "bb584e49-d030-4a6e-a5a9-1c34368cbaed"
    }
  ) {
    success
    messageId
    error {
      code
      message
    }
  }
}

Sample Response

{
  "data": {
    "requestInternalTransfer": {
      "success": true,
      "messageId": "1234567890"
    }
  }
}

Approve a Request

Call approveApprovalRequest with the approvalId. Requires MANAGE_APPROVALS.

mutation {
  approveApprovalRequest(approvalId: "07df5653-43a8-4532-9881-3ab5857bbe12") {
    success
    approvalId
    action
  }
}

On approval, Fluz transfers funds between the specified spend accounts.

Decline a Request

Call declineApprovalRequest with the approvalId. Requires MANAGE_APPROVALS.

mutation {
  declineApprovalRequest(approvalId: "07df5653-43a8-4532-9881-3ab5857bbe12") {
    success
    approvalId
    action
  }
}

No transfer is executed when a request is declined.