Exchange rates

Store new currency exchange rates under this from/to pair.

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

Stores a new set of exchange rates for this pair. The date is variable, 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.

The actual entries for this data set. They 'key' value is the date in YYYY-MM-DD. The value is the exchange rate.

[key: string]string
Example
{
  "2025-08-01": "1.2345",
  "2025-08-02": "6.3456"
}

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.

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.