Read FX Rates with the API
Applies to: Maxio Core
Last updated on Oct 14, 2026
Call the FX rates API to retrieve the rate Maxio Core resolves when it converts a local currency into your account's home currency on a given day, or across a range of days. It is read-only, and it resolves rates the same way Maxio Core does internally, so a value you read here matches what a transaction on that date would use.
Call the endpoint
Ask for a single day, or for a range of up to 366 days:
GET /api/v1.0/fx_rates/?local_currency=EUR&date=2026-09-30
GET /api/v1.0/fx_rates/?local_currency=EUR&home_currency=USD&start_date=2026-09-01&end_date=2026-09-30
A successful call returns one entry per day asked for:
{
"home_currency": "USD",
"local_currency": "EUR",
"results": [
{"date": "2026-09-30", "fx_date": "2026-09-30", "rate_home_per_local": "1.083000", "source": "override"}
]
}Parameters
The endpoint takes these query parameters:
| Parameter | Required | Notes |
|---|---|---|
local_currency | Yes | The currency you are converting from. |
home_currency | No | Must be your account's home currency, since Maxio Core only keeps rates to that currency. Omit it and the response uses your home currency automatically. |
date | One of date or start_date/end_date | A single day. |
start_date / end_date | One of date or start_date/end_date | A range of up to 366 days, both ends included. |
The call returns a 400 for an unknown currency code, a missing or badly formed date, both date and a range in the same call, an end_date before the start_date, a range over 366 days, a home_currency that is not your account's home currency, or an account that does not have multi-currency enabled. Reading requires at least the Report User role in Maxio Core, which is a lower level than the Admin User role that the Currency Codes page needs. A user without it gets a 403.
What each field in the response means
Each entry in results is one day you asked for:
rate_home_per_localis home currency per local currency: multiply a local-currency amount by it to get the home-currency amount.nullwhen no rate exists on or before that day.fx_dateis the date the rate actually came from. A day with no rate of its own carries the most recent earlier rate forward, the way Maxio Core does when it converts an amount, sofx_datecan be earlier thandate. It isnullwhen no rate exists on or before that day.sourcetells you which rate was used:overridefor a rate you entered yourself on the FX Rate Schedule,commonfor the rate Maxio Core loads daily, orsame_currencywhenlocal_currencyand your home currency are the same, which always resolves to a rate of 1. It isnullalongside anullrate_home_per_local.
A tenant override always wins over the loaded rate on the same date. If the loaded rate is from a more recent date than your override, the loaded rate is used, because the most recent rate on or before the day wins. The same-date rule is the one Manage Currency Codes and FX Rates describes for the Modified FX Rate column on the FX Rate Schedule.
What this endpoint does not do
It does not return the raw spot and modified rates side by side: only the resolved rate Maxio Core would actually use. It does not accept a currency other than your account's home currency as the conversion target, and it does not return the monthly average or end-of-month rates that reports use. To see or set rates manually instead of over the API, use the FX Rate Schedule in the application.
Related information
To see where FX rates come from, override one for a date or range, and read the FX Rate Schedule in the application, see Manage Currency Codes and FX Rates.
To turn on multi-currency for your account, see Configure Multi-Currency.
To find your full API documentation and check whether the API add-on is enabled for your account, see Get Started with the Maxio Core API.
Still need help?
Reach out and our support team will take it from here.
