Exchange rates

Store new currency exchange rates under this date

POST
https://firefly.example.com/api/v1/exchange-rates/by-date/{date}

Stores a new set of exchange rates. The date is fixed (in the URL parameter) and the data required can be submitted as a JSON body.

Body

application/json

JSON array with the necessary currency exchange rate information. See the model for the exact specifications.

fromstringrequired

The 'from'-currency

Example
EUR
ratesobjectrequired

The actual entries for this data set. They 'key' value is 'to' currency. The value is the exchange rate.

Show child attributes
[key: string]string
Example
{
  "USD": "1.2345",
  "GBP": "6.3456"
}

Parameters

X-Trace-Idstring<uuid>header

Unique identifier associated with this request.

datestringrequiredpath

Response

New exchange rates stored, result in response. If a rate already existed for any submitted entry, it will be updated.

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
metaMetarequired
Show child attributes
paginationobject
Show child attributes
totalinteger
Example
3
countinteger
Example
20
per_pageinteger
Example
100
current_pageinteger
Example
1
total_pagesinteger
Example
1
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>
500Internal Server ErrorInternalExceptionResponse

Internal exception

Response fields application/json
messagestring
Example
Internal Exception
exceptionstring
Example
InternalException

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.