Exchange rates
The rate a month used between two currencies, so a figure in another currency can be read the way the reports read it.
The endpoint
| Method | Path | Answers |
|---|---|---|
| GET | /api/v1/organisations/{organisation}/exchange-rates |
One rate, with the rates it was built from |
Needs a bearer token, a credential issued for that company, and the exchange_rates.read scope.
The parameters
| Parameter | What it does |
|---|---|
from, to | The two currencies, three letters each. Required. |
period | The month, Mon-YYYY. |
rate_type | average for a profit and loss movement,
closing for a balance. Default average. |
scenario | Actual, Budget or Forecast. |
What it answers
GET …/exchange-rates?from=USD&to=SGD&period=Jul-2026&rate_type=average
{
"period": "Jul-2026", "scenario": "Actual", "rate_type": "average",
"from_currency": "USD", "to_currency": "SGD",
"rate": 1.35,
"source_rates": { "USD": 1.0, "SGD": 1.35 },
"calculation": "amount_in_to_currency = amount_in_from_currency * rate"
}
| Field | What it says |
|---|---|
rate | The rate itself: multiply an amount in from_currency by it to
get to_currency. |
source_rates | The two rates the answer was crossed from, so a rate that looks surprising can be traced. |
calculation | The direction, stated once so it is never guessed. |
A month with no stored rate answers 404 rather than a made-up one. The company's own currency is
1 against itself without a stored row.