Skip to main content
Authenticated players with a sufficient USD balance can request a PayPal payout through this endpoint. The requested amount is deducted from the player’s money_balance_usd immediately when the request is accepted. The actual PayPal transfer is processed asynchronously, and the withdrawal status progresses from pending to either paid or failed.
The amount is deducted from the player’s balance immediately when you call this endpoint, before the payout is processed by PayPal.

Endpoint

POST /v1/withdrawals
Authentication required. Include the player’s access token in the request header:
Authorization: Bearer <access_token>

Request body

amount_usd
number
required
The USD amount to withdraw. Must be a positive number and must not exceed the player’s current money_balance_usd. Check the minimum withdrawal amount in /v1/app-settings before submitting.
paypal_email
string
required
A valid email address for the PayPal account that will receive the payment.

Example request

curl -X POST https://playsmart-gateway-1w8ko864.uc.gateway.dev/v1/withdrawals \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
  -H "Content-Type: application/json" \
  -d '{
    "amount_usd": 10.00,
    "paypal_email": "player@paypal.com"
  }'

Response

201 Created

id
string
The unique identifier for this withdrawal request. Use this to track the status of the payout.
status
string
The initial status of the withdrawal. Always "pending" when the request is first created.
amount_usd
number
The USD amount requested in this withdrawal.
money_balance_usd_after
number
The player’s remaining USD balance after the withdrawal amount has been deducted.
{
  "data": {
    "id": "64f1a2b3c4d5e6f7a8b9c0d1",
    "status": "pending",
    "amount_usd": 10.00,
    "money_balance_usd_after": 5.50
  }
}

Error responses

HTTP statusCodeMessageMeaning
401 UNAUTHORIZEDUNAUTHORIZEDThe Authorization header is missing or the token is invalid or expired.
400 BAD_REQUESTBAD_REQUESTinvalid_payloadThe request body failed validation — for example, amount_usd is not a positive number or paypal_email is not a valid email. Check details for field-level errors.
422 UNPROCESSABLEUNPROCESSABLEinsufficient_balance_or_user_not_foundThe player’s current USD balance is less than the requested amount_usd, or no player was found for the authenticated token.
{
  "error": {
    "code": "UNPROCESSABLE",
    "message": "insufficient_balance_or_user_not_found"
  }
}