Alternatives
/v1/alternativesList alternative investments
Every alternative investment in the ledger, live, exited or written off, with its gain and multiple.
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 · InvestmentList
data | |
has_more boolean · required | |
next_cursor string | null · required |
curl -X GET "https://api.lumaledger.app/v1/alternatives" \
-H "Authorization: Bearer $LUMALEDGER_TOKEN"/v1/alternativesRecord an alternative investment
Record a position and post its value to the ledger's Alternative
Investments account. Send an Idempotency-Key so a retry cannot record
it twice.
Parameters
Idempotency-Key string | null · header | Any unique string (a UUID is ideal). A retry with the same key returns the first attempt's response instead of doing the work twice. Keys are kept for 24 hours. |
X-Organization-Id string | null · header |
Body · InvestmentCreate
category string · required | One of angel, fund, private_credit, collectible, crypto, other. |
currency string | null | ISO 4217 code of the amounts, when not the ledger's base currency. Pattern: ^[A-Z]{3}$. |
current_value string | null | What it is worth now. Defaults to invested_amount. Posted to the ledger. Pattern: ^\d{1,12}(\.\d{1,2})?$. |
invested_amount string · required | What went in, as a decimal string. Pattern: ^\d{1,12}(\.\d{1,2})?$. |
invested_date date | null | |
issuer string | null | |
name string · required | |
notes string | null | |
terms object | null | Free-form deal terms. |
vehicle string | One of safe, convertible_note, priced_round, lp_interest, note, direct, other. Default: "other". |
Returns 201 · Investment
category string · required | One of angel, fund, private_credit, collectible, crypto, other. |
current_value Money · required | What it is worth now. Zero once exited or written off. |
documents | |
excluded_from_totals boolean · required | Left out of net worth: its value is not posted to the ledger. |
exit_date date | null · required | |
exit_proceeds | What came back on exit, when recorded. |
gain Money · required | current_value minus invested_amount. |
hidden boolean · required | Hidden from the app's list; still counted. |
id integer · required | |
invested_amount Money · required | What went in. |
invested_date date | null · required | |
issuer string | null · required | The company, fund or counterparty. |
multiple string | null · required | current_value ÷ invested_amount as a decimal string ("1.25"). Null when nothing was invested. |
name string · required | |
notes string | null · required | |
status string · required | One of active, exited, written_off. |
terms object | null · required | Free-form deal terms (valuation cap, discount, carry, …), as recorded. |
valued_at date | null · required | The date current_value was last set. |
vehicle string · required | The instrument held: one of safe, convertible_note, priced_round, lp_interest, note, direct, other. |
curl -X POST "https://api.lumaledger.app/v1/alternatives" \
-H "Authorization: Bearer $LUMALEDGER_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"category": "…",
"invested_amount": "…",
"name": "…"
}'/v1/alternatives/{investment_id}Delete an alternative investment
Delete a position and take its value off the ledger, with its
documents and their files. To keep its history, set status to
exited or written_off instead.
Parameters
investment_id integer · path · required | |
X-Organization-Id string | null · header |
Returns 204 with no body.
curl -X DELETE "https://api.lumaledger.app/v1/alternatives/{investment_id}" \
-H "Authorization: Bearer $LUMALEDGER_TOKEN"/v1/alternatives/{investment_id}Get an alternative investment
One alternative investment with the documents filed against it.
Parameters
investment_id integer · path · required | |
X-Organization-Id string | null · header |
Returns 200 · Investment
category string · required | One of angel, fund, private_credit, collectible, crypto, other. |
current_value Money · required | What it is worth now. Zero once exited or written off. |
documents | |
excluded_from_totals boolean · required | Left out of net worth: its value is not posted to the ledger. |
exit_date date | null · required | |
exit_proceeds | What came back on exit, when recorded. |
gain Money · required | current_value minus invested_amount. |
hidden boolean · required | Hidden from the app's list; still counted. |
id integer · required | |
invested_amount Money · required | What went in. |
invested_date date | null · required | |
issuer string | null · required | The company, fund or counterparty. |
multiple string | null · required | current_value ÷ invested_amount as a decimal string ("1.25"). Null when nothing was invested. |
name string · required | |
notes string | null · required | |
status string · required | One of active, exited, written_off. |
terms object | null · required | Free-form deal terms (valuation cap, discount, carry, …), as recorded. |
valued_at date | null · required | The date current_value was last set. |
vehicle string · required | The instrument held: one of safe, convertible_note, priced_round, lp_interest, note, direct, other. |
curl -X GET "https://api.lumaledger.app/v1/alternatives/{investment_id}" \
-H "Authorization: Bearer $LUMALEDGER_TOKEN"/v1/alternatives/{investment_id}Update an alternative investment
Revalue a position, record its exit or write-off, correct its details, or hide it or leave it out of the totals. Only the fields sent change, and any change in what the position is worth is posted to the ledger.
Parameters
investment_id integer · path · required | |
X-Organization-Id string | null · header |
Body · InvestmentUpdate
current_value string | Revalue a live position; the change is posted to the ledger. Pattern: ^\d{1,12}(\.\d{1,2})?$. |
excluded_from_totals boolean | Leave it out of net worth: its value is taken off the ledger. |
exit_date date | Sent with an exit. Defaults to today. |
exit_proceeds string | What came back, sent with an exit. Pattern: ^\d{1,12}(\.\d{1,2})?$. |
hidden boolean | |
issuer string | |
name string | |
notes string | |
status string | One of active, exited, written_off. Exiting or writing off takes the position's value off the ledger; reactivating restores it. |
terms object |
Returns 200 · Investment
category string · required | One of angel, fund, private_credit, collectible, crypto, other. |
current_value Money · required | What it is worth now. Zero once exited or written off. |
documents | |
excluded_from_totals boolean · required | Left out of net worth: its value is not posted to the ledger. |
exit_date date | null · required | |
exit_proceeds | What came back on exit, when recorded. |
gain Money · required | current_value minus invested_amount. |
hidden boolean · required | Hidden from the app's list; still counted. |
id integer · required | |
invested_amount Money · required | What went in. |
invested_date date | null · required | |
issuer string | null · required | The company, fund or counterparty. |
multiple string | null · required | current_value ÷ invested_amount as a decimal string ("1.25"). Null when nothing was invested. |
name string · required | |
notes string | null · required | |
status string · required | One of active, exited, written_off. |
terms object | null · required | Free-form deal terms (valuation cap, discount, carry, …), as recorded. |
valued_at date | null · required | The date current_value was last set. |
vehicle string · required | The instrument held: one of safe, convertible_note, priced_round, lp_interest, note, direct, other. |
curl -X PATCH "https://api.lumaledger.app/v1/alternatives/{investment_id}" \
-H "Authorization: Bearer $LUMALEDGER_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'/v1/alternatives/{investment_id}/documentsAttach a document to an alternative investment
File a document (the SAFE, the subscription agreement, a K-1) against
a position. Upload it first with files.create and send its file_id;
the document is kept with the position, after the upload itself
expires, and shows in the app. Send an Idempotency-Key so a retry
cannot file it twice.
Parameters
investment_id integer · path · required | |
Idempotency-Key string | null · header | Any unique string (a UUID is ideal). A retry with the same key returns the first attempt's response instead of doing the work twice. Keys are kept for 24 hours. |
X-Organization-Id string | null · header |
Body · InvestmentDocumentAdd
file_id integer · required | The document, uploaded with files.create. |
name string | null | What to call it. Defaults to the uploaded file's name. |
Returns 201 · InvestmentDocumentRef
content_type string | null · required | |
created_at datetime · required | |
id integer · required | |
name string · required | |
size_bytes integer | null · required |
curl -X POST "https://api.lumaledger.app/v1/alternatives/{investment_id}/documents" \
-H "Authorization: Bearer $LUMALEDGER_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"file_id": 1
}'/v1/alternatives/{investment_id}/documents/{investment_document_id}Remove a document from an alternative investment
Remove a document from a position, and delete its file.
investment_document_id is a document's id from the position's
documents.
Parameters
investment_id integer · path · required | |
investment_document_id integer · path · required | |
X-Organization-Id string | null · header |
Returns 204 with no body.
curl -X DELETE "https://api.lumaledger.app/v1/alternatives/{investment_id}/documents/{investment_document_id}" \
-H "Authorization: Bearer $LUMALEDGER_TOKEN"Objects
Investment
An alternative investment: a position valued by hand.
Fields
category string · required | One of angel, fund, private_credit, collectible, crypto, other. |
current_value Money · required | What it is worth now. Zero once exited or written off. |
documents | |
excluded_from_totals boolean · required | Left out of net worth: its value is not posted to the ledger. |
exit_date date | null · required | |
exit_proceeds | What came back on exit, when recorded. |
gain Money · required | current_value minus invested_amount. |
hidden boolean · required | Hidden from the app's list; still counted. |
id integer · required | |
invested_amount Money · required | What went in. |
invested_date date | null · required | |
issuer string | null · required | The company, fund or counterparty. |
multiple string | null · required | current_value ÷ invested_amount as a decimal string ("1.25"). Null when nothing was invested. |
name string · required | |
notes string | null · required | |
status string · required | One of active, exited, written_off. |
terms object | null · required | Free-form deal terms (valuation cap, discount, carry, …), as recorded. |
valued_at date | null · required | The date current_value was last set. |
vehicle string · required | The instrument held: one of safe, convertible_note, priced_round, lp_interest, note, direct, other. |
InvestmentCreate
Fields
category string · required | One of angel, fund, private_credit, collectible, crypto, other. |
currency string | null | ISO 4217 code of the amounts, when not the ledger's base currency. Pattern: ^[A-Z]{3}$. |
current_value string | null | What it is worth now. Defaults to invested_amount. Posted to the ledger. Pattern: ^\d{1,12}(\.\d{1,2})?$. |
invested_amount string · required | What went in, as a decimal string. Pattern: ^\d{1,12}(\.\d{1,2})?$. |
invested_date date | null | |
issuer string | null | |
name string · required | |
notes string | null | |
terms object | null | Free-form deal terms. |
vehicle string | One of safe, convertible_note, priced_round, lp_interest, note, direct, other. Default: "other". |
InvestmentDocumentAdd
Fields
file_id integer · required | The document, uploaded with files.create. |
name string | null | What to call it. Defaults to the uploaded file's name. |
InvestmentDocumentRef
A document filed against the position.
Fields
content_type string | null · required | |
created_at datetime · required | |
id integer · required | |
name string · required | |
size_bytes integer | null · required |
InvestmentList
A page of alternative investments, in id order.
Fields
data | |
has_more boolean · required | |
next_cursor string | null · required |
InvestmentUpdate
Only the fields sent change. None of them can be cleared.
Fields
current_value string | Revalue a live position; the change is posted to the ledger. Pattern: ^\d{1,12}(\.\d{1,2})?$. |
excluded_from_totals boolean | Leave it out of net worth: its value is taken off the ledger. |
exit_date date | Sent with an exit. Defaults to today. |
exit_proceeds string | What came back, sent with an exit. Pattern: ^\d{1,12}(\.\d{1,2})?$. |
hidden boolean | |
issuer string | |
name string | |
notes string | |
status string | One of active, exited, written_off. Exiting or writing off takes the position's value off the ledger; reactivating restores it. |
terms object |
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}$. |