Exchange rates

Update existing currency exchange rate.

PUT
https://firefly.example.com/api/v1/exchange-rates/{id}

Used to update a single currency exchange rate by its ID. Including the from/to currency is optional.

Body

JSON array or form-data with updated exchange rate information. See the model for the exact specifications.

application/json,application/x-www-form-urlencodedCurrencyExchangeRateUpdate
datestring<date>required

The date to which the exchange rate is applicable.

Example
2026-10-01
ratestringrequired

The exchange rate from the base currency to the destination currency.

Example
2.3456
fromstring | null

The base currency code.

Example
USD
tostring | null

The destination currency code.

Example
EUR

Parameters

X-Trace-Idstring<uuid>header

Unique identifier associated with this request.

idstringrequiredpath

The ID of the currency exchange rate.

Response

Updated exchange rate stored, result in response

Response fields application/vnd.api+json
Show child attributes
typestringread only

Immutable value

Example
currency_exchange_rates
idstringread only
Example
2
Show child attributes
created_atstring<date-time>read only
Example
2026-10-01T00:00:00+00:00
updated_atstring<date-time>read only
Example
2026-10-01T00:00:00+00:00
from_currency_idstringread only

Base currency ID for this exchange rate entry.

Example
12
from_currency_namestringread only

Base currency name for this exchange rate entry.

Example
Euro
from_currency_codestringread only

Base currency code for this exchange rate entry.

Example
EUR
from_currency_symbolstringread only

Base currency symbol for this exchange rate entry.

Example
$
from_currency_decimal_placesinteger<int32>read only

Base currency decimal places for this exchange rate entry.

Example
2
to_currency_idstringread only

Destination currency ID for this exchange rate entry.

Example
12
to_currency_namestringread only

Destination currency name for this exchange rate entry.

Example
EUR
to_currency_codestringread only

Destination currency code for this exchange rate entry.

Example
EUR
to_currency_symbolstringread only

Destination currency symbol for this exchange rate entry.

Example
$
to_currency_decimal_placesinteger<int32>read only

Destination currency decimal places for this exchange rate entry.

Example
2
ratestringread only

The actual exchange rate. How many 'to' currency will you get for 1 'from' currency?

Example
1.10340
datestring<date-time>read only

Date and time of the exchange rate.

Example
2026-10-01T00:00:00+00:00
400Bad RequestBadRequestResponse

Bad request

Response fields application/json
messagestring
Example
Bad Request
exceptionstring
Example
BadRequestHttpException

Unauthenticated

Response fields application/json
messagestring
Example
Unauthenticated
exceptionstring
Example
AuthenticationException
404Not FoundNotFoundResponse

Page not found

Response fields application/json
messagestring
Example
Resource not found
exceptionstring
Example
NotFoundHttpException
422Unprocessable EntityValidationErrorResponse

Validation error. The body will have the exact details.

Response fields application/json
messagestring
Example
The given data was invalid.
errorsobject
Show child attributes
emailArray<string>
forceArray<string>
blockedArray<string>
fieldArray<string>
roleArray<string>
blocked_codeArray<string>
nameArray<string>
typeArray<string>
ibanArray<string>
startArray<string>
endArray<string>
dateArray<string>

Authorization

firefly_iii_authoauth2

OAuth2 authorization code flow. Create a client on your installation's /profile page; it authorizes at /oauth/authorize and issues tokens at /oauth/token there. The URLs below are the demo site's. How to use the API walks through it.

local_bearer_authhttp (bearer)

A Personal Access Token, sent as a bearer token. Create one on your installation under Options > Profile > OAuth > Personal Access Tokens.