Developers
API reference

Transfer Suggestions

get/v1/transfer-suggestions

List transfer suggestions

transfer_suggestions.listread tokenidempotent

Accounts in this ledger that other accounts' transactions keep paying, while those transactions are still filed as spending or income by a guess. A category someone chose, or a rule, is never second-guessed. Suggestions already accepted or dismissed are left out.

Parameters

limit
integer · query
Page size, 1–200.
cursor
string | null · query
The next_cursor of the previous page.
X-Organization-Id
string | null · header

Returns 200 · TransferSuggestionList

data
array of TransferSuggestion · required
has_more
boolean · required
next_cursor
string | null · required
Example
curl -X GET "https://api.lumaledger.app/v1/transfer-suggestions" \
  -H "Authorization: Bearer $LUMALEDGER_TOKEN"
post/v1/transfer-suggestions/{account_id}/accept

Accept a transfer suggestion

transfer_suggestions.acceptwrite tokenidempotent

Re-file the suggested transactions as transfers to this account, and route new ones like them the same way from now on. Accepting again moves only what arrived since.

Parameters

account_id
integer · path · required
X-Organization-Id
string | null · header

Returns 200 · AcceptResult

moved
integer · required
How many transactions were re-filed as transfers.
Example
curl -X POST "https://api.lumaledger.app/v1/transfer-suggestions/{account_id}/accept" \
  -H "Authorization: Bearer $LUMALEDGER_TOKEN"
delete/v1/transfer-suggestions/{account_id}/decision

Forget a transfer suggestion's verdict

transfer_suggestions.resetwrite tokendestructiveidempotent

Forget whether this account's suggestion was accepted or dismissed, so it can be suggested again. Transactions already re-filed stay filed. A 404 when there was no verdict.

Parameters

account_id
integer · path · required
X-Organization-Id
string | null · header

Returns 204 with no body.

Example
curl -X DELETE "https://api.lumaledger.app/v1/transfer-suggestions/{account_id}/decision" \
  -H "Authorization: Bearer $LUMALEDGER_TOKEN"
post/v1/transfer-suggestions/{account_id}/dismiss

Dismiss a transfer suggestion

transfer_suggestions.dismisswrite tokenidempotent

Stop suggesting transfers to this account. Nothing is re-filed.

Parameters

account_id
integer · path · required
X-Organization-Id
string | null · header

Returns 204 with no body.

Example
curl -X POST "https://api.lumaledger.app/v1/transfer-suggestions/{account_id}/dismiss" \
  -H "Authorization: Bearer $LUMALEDGER_TOKEN"

Objects

AcceptResult

Fields

moved
integer · required
How many transactions were re-filed as transfers.

Money

An amount and its currency. `amount` is a base-10 string with two decimal places and an optional leading minus sign. Parse it with a decimal type, not a float.

Fields

amount
string · required
Pattern: ^-?\d+\.\d{2}$.
currency
string · required
ISO 4217 code. Pattern: ^[A-Z]{3}$.

TransferSuggestion

Transactions elsewhere in the ledger that look like transfers to one account.

Fields

account_id
integer · required
The destination account; the suggestion's id.
account_name
string · required
account_role
string | null · required
What the destination is for (credit_card, …).
first_date
date · required
institution_name
string · required
The bank the destination is held at.
last_date
date · required
mask
string | null · required
sample_descriptions
array of string · required
source_accounts
array of string · required
Names of the accounts those transactions are on, most first.
total
Money · required
What they add up to.
transaction_count
integer · required
How many transactions would be re-filed.

TransferSuggestionList

A page of suggestions, the most transactions first.

Fields

data
array of TransferSuggestion · required
has_more
boolean · required
next_cursor
string | null · required