Your base URL will be provided during onboarding. All endpoints described in this document are relative to that base URL.
Use Content-Type: application/json for request bodies unless otherwise specified.
All list endpoints use limit/offset pagination.
| Parameter | Default | Description |
|---|---|---|
limit |
10 | Number of results to return per page. |
offset |
0 | The starting position in the result set. |
Example:
GET /remittances/?limit=25&offset=50
Paginated response structure:
{
"count": 150,
"next": "https://api.example.com/remittances/?limit=25&offset=75",
"previous": "https://api.example.com/remittances/?limit=25&offset=25",
"results": []
}
Create a new remittance to send funds to a Purpl user.
POST /remittances/
Request body:
| Field | Type | Required | Description |
|---|---|---|---|
reference_id |
string | Yes | Your unique reference ID for this remittance. Max length: 191. |
amount |
decimal | Yes | Amount to send. Minimum: 10.00. Max 20 digits, 2 decimal places. |
currency |
enum | Yes | Currency code. Allowed values: USD. |
sender_first_name |
string | Yes | Sender's first name. |
sender_last_name |
string | Yes | Sender's last name. |
sender_date_of_birth |
date | Yes | Sender's date of birth (YYYY-MM-DD). |
sender_email |
string | Yes | Sender's email address. |
sender_city |
string | Yes | Sender's city. |
sender_country |
string | Yes | Sender's country name (e.g., United States). Must be a valid country name. |
sender_country_code |
string | Yes | Sender's country as ISO 3166-1 alpha-2 code (e.g., US, AE). |
sender_relationship_to_receiver |
enum | No | Relationship of sender to receiver. Send an OPTIONS request to discover allowed values. |
receiver_first_name |
string | Yes | Receiver's (beneficiary's) first name. Max length: 191. |
receiver_last_name |
string | Yes | Receiver's (beneficiary's) last name. Max length: 191. |
receiver_phone_number |
string | Yes | Receiver's phone number in E.164 format (e.g., +96170123456). Must be a mobile number from a supported country. |
receiver_city |
string | No | Receiver's city. Max length: 255. |
receiver_country |
string | No | Receiver's country name. Max length: 255. |
receiver_country_code |
string | No | Receiver's country as ISO 3166-1 alpha-2 code. Max length: 2. |
transfer_purpose |
enum | No | Purpose of transfer. Send an OPTIONS request to discover allowed values. |
extra_data |
object | No | Additional data specific to your integration. Contact Purpl for applicable fields. |
Note: At least one of
receiver_countryorreceiver_country_codemust be provided.