This guide explains how to create a withdrawal request using the Tonder Withdrawals API endpointDocumentation Index
Fetch the complete documentation index at: https://docs.tonder.io/llms.txt
Use this file to discover all available pages before exploring further.
POST /withdrawals/.
Endpoint
Required Parameters
The following table lists all mandatory parameters for creating a new withdrawal request:| Parameter | Type | Required | Description | Constraints & Values |
|---|---|---|---|---|
user_id | integer | Yes | User ID in the Tonder system | Get from Get User ID endpoint |
amount | decimal | Yes | Amount to withdraw | - |
currency | string | Yes | Currency code | "MXN" for SPEI transfers |
transfer_method | string | Yes | Transfer method | Values: "SPEI" or "DEBIT_CARD" |
beneficiary_account | string | Yes | Account number of the beneficiary | 18-digit CLABE for SPEI, 16-digit card for DEBIT_CARD |
beneficiary_name | string | Yes | Name of the beneficiary | - |
beneficiary_rfc | string | Conditional | RFC identification | Required for SPEI. For DEBIT_CARD, use beneficiary_rfc, beneficiary_curp, or "ND" |
beneficiary_curp | string | Conditional | CURP identification | Alternative to beneficiary_rfc for DEBIT_CARD only |
beneficiary_institution | string | Yes | Institution code | CRITICAL: Use 97846 for testing. See Institution Codes for production |
interbank_code | string | Yes | Originator account (CLABE) | Required for SPEI transfers |
fee_model | string | Yes | Fee model code | Values: 00 (User pays fees) or 01 (Merchant pays fees) |
metadata | object | Yes | Additional required information | Must include latitude and longitude |
Optional Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
email | string | No | Contact email for notifications |
description | string | No | Transaction description |
Request Examples
SPEI Transfer
Debit Card Transfer with RFC
Debit Card Transfer with CURP
Debit Card Transfer without Document (ND)
DEBIT_CARD Identification OptionsFor DEBIT_CARD transfers, you can use:
beneficiary_rfcwith a valid RFCbeneficiary_curpwith a valid CURPbeneficiary_rfcwith value"ND"(No Disponible) if no document is available
beneficiary_rfc is required (can be "ND").cURL Example
Postman ConfigurationWhen testing in Postman, ensure you include the
Authorization header:- Method:
POST - URL:
https://stage.tonder.io/api/v1/withdrawals/ - Headers Tab:
Authorization:Token YOUR_API_KEY(replace with your actual token)Content-Type:application/json
- Body Tab: Select
rawandJSON, then paste your request JSON
YOUR_API_KEY with the token provided in the Developers section of the Tonder platform. Every request requires this authentication header.Response
Upon successful creation, the API returns a withdrawal object with aPENDING status and a unique withdrawal ID:
SPEI Response Example
DEBIT_CARD Response Example
Save the Withdrawal IDAlways save the
id field from the response. You’ll need it to track the withdrawal status and receive webhook notifications.Parameter Details
Transfer Methods
- SPEI: Bank transfers processed same business day during banking hours. Requires 18-digit CLABE.
- DEBIT_CARD: Instant deposits available within 5-15 minutes, 24/7. Requires 16-digit card number.
Fee Models
00: User pays fees - fees are deducted from the withdrawal amount01: Merchant pays fees - fees are charged separately to the merchant
Metadata Requirements
Themetadata object must include:
latitude: Geographic latitude (string or decimal)longitude: Geographic longitude (string or decimal)
operation_date: Date of the operation (format: “YYYY-MM-DD”)customer_email: Customer email addressbusiness_user: Business user identifiercustomer_id: Your internal customer IDorder_id: Your internal order ID
Institution Codes
For production withdrawals, you need to use valid institution codes. See the Institution Codes Reference for the complete list of Mexican financial institutions.Next Steps
- Learn about withdrawal workflows and statuses to understand what happens after creation
- Set up webhook listeners to receive real-time status updates
- Review HTTP response codes to handle errors properly
- Check institution codes for production use

