Create an FX Trade (v2.1)
Overview
Executes a binding foreign exchange trade order using an active 30-second quote token (vfx_token), booking the trade across buyer and seller currencies.
HTTP Request
POST /banking/ibans/v2/orders/v2.1/fx
Authentication
This endpoint requires an active Bearer JWT token in the Authorization header obtained via POST /banking/ibans/v2/users/login:
Authorization: Bearer <your_access_token>
Request Body Fields
| Field | Type | Description |
|---|---|---|
vfx_token | str | Sample value: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjdXJyZW5jeUZyb20iOiJVU0QiLCJjdXJyZW5jeVRvIjoiR0JQIiwicmF0ZSI6MC42MzkxNTkzLCJzcHJlYWQiOjAuMDcxMDE3NywiaWF0IjoxNjU1Mzc3ODU4LCJleHAiOjE2NTUzNzc4ODh9.QHk76hGswh_YTR1M95dda1Oah8ZBhy6NREVrhIPDwO8 |
side | str | Sample value: BUY |
amount | int | Sample value: 100 |
clientReference | str | Sample value: Test100 |
Code Examples
- cURL
- JavaScript (Axios)
- Python (Requests)
curl -X POST "https://api.ahrvo.network/banking/ibans/v2/orders/v2.1/fx" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <your_access_token>" \
-d '{
"vfx_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjdXJyZW5jeUZyb20iOiJVU0QiLCJjdXJyZW5jeVRvIjoiR0JQIiwicmF0ZSI6MC42MzkxNTkzLCJzcHJlYWQiOjAuMDcxMDE3NywiaWF0IjoxNjU1Mzc3ODU4LCJleHAiOjE2NTUzNzc4ODh9.QHk76hGswh_YTR1M95dda1Oah8ZBhy6NREVrhIPDwO8",
"side": "BUY",
"amount": 100,
"clientReference": "Test100"
}'
import axios from 'axios';
const response = await axios.post('https://api.ahrvo.network/banking/ibans/v2/orders/v2.1/fx', {
"vfx_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjdXJyZW5jeUZyb20iOiJVU0QiLCJjdXJyZW5jeVRvIjoiR0JQIiwicmF0ZSI6MC42MzkxNTkzLCJzcHJlYWQiOjAuMDcxMDE3NywiaWF0IjoxNjU1Mzc3ODU4LCJleHAiOjE2NTUzNzc4ODh9.QHk76hGswh_YTR1M95dda1Oah8ZBhy6NREVrhIPDwO8",
"side": "BUY",
"amount": 100,
"clientReference": "Test100"
}, {
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer <your_access_token>'
}
});
console.log(response.data);
import requests
url = "https://api.ahrvo.network/banking/ibans/v2/orders/v2.1/fx"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer <your_access_token>"
}
payload = {
"vfx_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjdXJyZW5jeUZyb20iOiJVU0QiLCJjdXJyZW5jeVRvIjoiR0JQIiwicmF0ZSI6MC42MzkxNTkzLCJzcHJlYWQiOjAuMDcxMDE3NywiaWF0IjoxNjU1Mzc3ODU4LCJleHAiOjE2NTUzNzc4ODh9.QHk76hGswh_YTR1M95dda1Oah8ZBhy6NREVrhIPDwO8",
"side": "BUY",
"amount": 100,
"clientReference": "Test100"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
Response (201)
{
"success": true,
"order": {
"id": 3682,
"reference": "EN-12092024-021",
"amountFrom": "134.03",
"amountTo": "100.00",
"rate": "0.7461245925",
"transactionState": "inward_remittance_confirmed",
"status": "deposit_recorded",
"createdDate": "2024-09-12T09:27:45.000Z",
"completedDate": null,
"archivedDate": null,
"clientReference": "Test100",
"currencyFrom": "USD",
"currencyTo": "GBP"
}
}
Interactive API Explorer
Test this endpoint live against the Ahrvo gateway and Verto sandbox environments: