Exchange rates

Update existing currency exchange rate.

PUT
https://firefly.example.com/api/v1/exchange-rates/{from}/{to}/{date}

Used to update a single currency exchange rate by its currency codes and date

Body

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

ratestringrequired

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

Example
2.3456
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.

fromstringrequiredpath

The currency code of the 'from' currency.

tostringrequiredpath

The currency code of the 'to' currency.

datestringrequiredpath

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.