Get exchange rates
We offer international rewards at Tango in over 80 different countries and their local currencies. The foreign exchange rate is calculated daily using multiple sources depending on the brand and location. Using the day’s currency exchange rate, we convert the reward's currency to your account’s default currency. We present the amount that will be charged to your account at the time of order.
Note:
- We accept AUD, CAD, EUR, GBP, and USD for Global Choice Link products.
- Only one currency can be specified. The currency of a Tango account is set at the time the account is created, and can't be changed after any transactions have been made on the account. The currency defaults to USD if no currency is specified.
- You can only change currency on an account that doesn’t have any transactions. If transactions have already occurred, a new account will have to be created reflecting the requested currency.
- Completed transactions are final. Once a transaction is complete, its currency cannot be exchanged for another currency.
- Exchange rates are updated once per day starting at 12:00 UTC and no later than +13:00 UTC.
Endpoint
Use the following endpoint to get a list of exchange rates available for your platform.
| Endpoint | Description |
|---|---|
GET {URI}/exchangerates | Get a list of exchange rates available for this platform. |
Parameters
The following query parameters help you narrow down your search with this endpoint. You can query exchange rates for your base currency or reward currency. For example, enter your base currency such as USD, and get the conversion rate for EUR. Paginate the results to filter the payload.
Query params | Data type | Description |
|---|---|---|
paginate | boolean | Whether to paginate the results or not. Paginate defaults to false. |
prevCursor | string | The cursor to use for the previous page of results. This will be ignored if paginate is false. |
nextCursor | string | The cursor to use for the next page of results. This will be ignored if paginate is false. |
maxResults | string | The maximum number of results to return. The default is 10, and the maximum is 200. This will be ignored if paginate is false. |
baseCurrency | array of strings | Returns all exchange rates for a specific base currency. (optional) |
rewardCurrency | array of strings | Returns all exchange rates for a specific reward currency. (optional) |
Examples
The following payload example shows the exchange rate for when your account's base currency is USD and you would like to see the conversion rate to Euro currency EUR for the reward. The value you enter in the currency field is case sensitive:
{
"disclaimer": "Exchange rates are provided here for reference. They are updated at least once a day and may have changed by time of order.",
"exchangeRates": [
{
"lastModifiedDate": "2025-02-12T13:01:52.538Z",
"rewardCurrency": "EUR",
"baseCurrency": "USD",
"baseFx": 0.96381
}
]
}The following payload example shows the pagination payload:
{
"prevCursor": null,
"nextCursor": null,
"prevPageAvailable": false,
"nextPageAvailable": false,
"maxResults": 10,
"disclaimer": "string",
"exchangeRates": [
{
"lastModifiedDate": "2023-01-23T20:12:42.136Z",
"rewardCurrency": "string",
"baseCurrency": "string",
"baseFx": 0
}
]
}Here's an example payload for when you receive an error:
{
"timestamp": "2025-02-21T23:23:13.930Z",
"requestId": "string",
"path": "string",
"httpCode": 0,
"httpPhrase": "string",
"i18nKey": "string",
"message": "The error message will show here for error codes ",
"errors": [
{}
]
}Response codes
The possible response codes for this endpoint are as follows. For details, see i18nkey codes and their error messages:
| Response code | Meaning |
|---|---|
| 200 | The request was successful. |
| 400 | The server could not understand the request due to invalid syntax. |
| 401 | Authentication is required and has either not been provided or failed. |
| 403 | The server understood the request but refuses to authorize it. |
| 500 | Something went wrong on the server, but the server cannot be more specific about what the exact problem is. |
| 503 | The server is currently unable to handle the request due to temporary overload or maintenance. |
Updated 3 days ago
