Transaction links

Create a new link between transactions

POST
https://firefly.example.com/api/v1/transaction-links

Store a new link between two transactions. For this end point you need the journal_id from a transaction.

Body

JSON array with the necessary link type information or key=value pairs. See the model for the exact specifications.

application/json,application/x-www-form-urlencodedTransactionLinkStore
inward_idstringrequired

The inward transaction transaction_journal_id for the link. This becomes the 'is paid by' transaction of the set.

Example
131
outward_idstringrequired

The outward transaction transaction_journal_id for the link. This becomes the 'pays for' transaction of the set.

Example
131
notesstring | null

Optional. Some notes.

Example
Some example notes

Parameters

X-Trace-Idstring<uuid>header

Unique identifier associated with this request.

Response

New transaction link stored, result in response.

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

Immutable value

Example
transactionLinks
idstringrequired
Example
2
attributesTransactionLinkrequired
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
inward_idstringrequired

The inward transaction transaction_journal_id for the link. This becomes the 'is paid by' transaction of the set.

Example
131
outward_idstringrequired

The outward transaction transaction_journal_id for the link. This becomes the 'pays for' transaction of the set.

Example
131
notesstring | null

Optional. Some notes.

Example
Some example notes
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.