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.

EndpointDescription
GET {URI}/exchangeratesGet 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.
-**true:**paginates the results
-**false:**doesn't paginate the results.

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)
This field is case-sensitive.

rewardCurrency

array of strings

Returns all exchange rates for a specific reward currency. (optional)
This field is case-sensitive.


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 codeMeaning
200The request was successful.
400The server could not understand the request due to invalid syntax.
401Authentication is required and has either not been provided or failed.
403The server understood the request but refuses to authorize it.
500Something went wrong on the server, but the server cannot be more specific about what the exact problem is.
503The server is currently unable to handle the request due to temporary overload or maintenance.


© 2026 Tango API are provided by Tango, a division of BHN, Inc.