Skip to main content
POST
/
v1
/
platform
/
payments
/
wallet-to-bank
Wallet → Bank (payout)
curl --request POST \
  --url https://api-sandbox.finogates.com/v1/platform/payments/wallet-to-bank \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "wallet_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "amount": 123,
  "idempotency_key": "<string>",
  "product_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "user_id": "b3a9b622-cc63-4d3c-aad6-2d8e29e6f9d4",
  "currency": "USD",
  "metadata": {},
  "payee_destination_id": "c8d9e0f1-a2b3-4567-89ab-cdef01234567",
  "payee_payment_method_id": "f6a7b8c9-d0e1-2345-6789-0abcdef01234"
}
'
{
  "status_code": 123,
  "data": "<unknown>",
  "query_generated_time": 123
}

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Body

application/json

Pay out from a wallet to a payee's bank account (intent_type=payout).

wallet_id
string<uuid>
required

Source wallet UUID — the tenant's master wallet or one of the user's wallets. Server validates tenant ownership and currency and resolves the owner from it.

Example:

"a1b2c3d4-e5f6-7890-abcd-ef1234567890"

amount
number
required

Amount in major currency units (e.g. dollars).

Example:

100.5

idempotency_key
string
required

Unique key to ensure idempotent payment creation.

Required string length: 1 - 120
Example:

"pay_req_20260604_abc123"

product_id
string<uuid>
required

UUID of the payout product (rail + provider route).

Example:

"d4e5f6a7-b8c9-0123-4567-890abcdef012"

user_id
string<uuid> | null

Optional safety cross-check — when sent, must match the owner of wallet_id.

Example:

"b3a9b622-cc63-4d3c-aad6-2d8e29e6f9d4"

currency
string
default:USD

ISO 4217 currency code.

Required string length: 3
Example:

"USD"

metadata
Metadata · object

Arbitrary key-value metadata to attach to the payment.

Example:
{ "order_id": "ORD-12345" }
payee_destination_id
string<uuid> | null

UUID of the payee's destination (recommended). The canonical field for ACH-push and digital-check auto-deposit. Either this or payee_payment_method_id is required.

Example:

"c8d9e0f1-a2b3-4567-89ab-cdef01234567"

payee_payment_method_id
string<uuid> | null
deprecated

Deprecated legacy payee target — use payee_destination_id instead. Still accepted: either this or payee_destination_id is required — send one, not both.

Example:

"f6a7b8c9-d0e1-2345-6789-0abcdef01234"

Response

Successful Response

Standard response wrapper for single-object responses and errors.

Generic over the payload type. A route that declares CommonResponse[SomeModel] gets the real data schema rendered in OpenAPI/Swagger; a bare CommonResponse leaves data untyped.

status_code
integer
required

HTTP status code for the response.

data
any
required

Payload or error details.

query_generated_time
integer
required

UTC timestamp (milliseconds since epoch) when response was generated.