Skip to main content
POST
Recover funds
When a user’s company-funded card closes with money left on it, that money stays with the user and counts toward their next card. For someone you won’t fund again, recover it to your balance instead. The user doesn’t need to be connected any more.
Leave out amount_cents to recover all of it. In sandbox the recovery completes at once. A live one starts as requested and completes later, and recovery.completed or recovery.rejected tells you how it ended.

Authorizations

Authorization
string
header
required

A platform access token. Get one on the Create an access token endpoint by exchanging your client_id + client_secret, then send it as Authorization: Bearer <token>. Tokens live one hour.

Headers

Idempotency-Key
string

Your key for this recovery. A retry with the same key returns the first one.

Body

application/json
user_id
string
required

The user to recover from.

amount_cents
integer

How much, in cents. Leave it out to recover all of it.

Required range: x >= 1

Response

The recovery a retry with the same Idempotency-Key already made.

object
enum<string>
required

Always company_wallet_recovery.

Available options:
company_wallet_recovery
id
string
required
status
enum<string>
required

requested and processing while it's under way, then completed or rejected.

Available options:
requested,
processing,
completed,
rejected
user_id
string | null
required

The user the money came from.

amount_cents
integer
required

What's recovered.

livemode
boolean
required

false on a sandbox credential.

created_at
string<date-time>
required
failure_reason
string | null

Why a rejected recovery was rejected.

tx_hash
string | null

The onchain transaction that moved it, once there is one.

completed_at
string | null

When it completed.