Vehicles
/v1/vehiclesList vehicles
Every vehicle in the ledger, including suggested and dismissed ones
(see status), each with its loan and equity.
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 · VehicleList
data | |
has_more boolean · required | |
next_cursor string | null · required |
curl -X GET "https://api.lumaledger.app/v1/vehicles" \
-H "Authorization: Bearer $LUMALEDGER_TOKEN"/v1/vehiclesAdd a vehicle
Add a vehicle the household owns, optionally linked to its loan.
Send an Idempotency-Key so a retry cannot add 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 · VehicleCreate
estimated_value string | null | What it is worth, as a decimal string. Pattern: ^\d{1,12}(\.\d{1,2})?$. |
label string · required | What to call it: Blue Civic. |
loan_account_id integer | null | Its loan: a liability account (see accounts.list) no other vehicle is linked to. |
make string | null | |
model string | null | |
model_year integer | null | 1900–2100. |
valued_at date | null | The date the value is from. Defaults to today when a value is sent. |
vehicle_type string | One of car, motorcycle, truck, suv, van, rv, boat, other. Default: "car". |
vin string | null |
Returns 201 · Vehicle
equity | Value minus the loan. Null unless both are known. |
estimated_value | What it is worth. Null when nobody has said. |
excluded_from_totals boolean · required | Left out of the vehicle totals, and its loan out of net worth. |
hidden boolean · required | Hidden from the app's lists; still counted. |
id integer · required | |
label string · required | |
loan | |
make string | null · required | |
model string | null · required | |
model_year integer | null · required | |
source string · required | manual, inferred (found from an auto loan) or seed (demo data). |
status string · required | suggested (found from an auto loan, not yet reviewed), confirmed or dismissed. |
value_age_days integer | null · required | Days since valued_at. |
value_is_stale boolean | null · required | The value is over six months old. Null when it was never dated: not fresh, unknown. |
value_source string · required | user or none. |
valued_at date | null · required | The date the value is true for. |
vehicle_type string · required | One of car, motorcycle, truck, suv, van, rv, boat, other. |
vin string | null · required |
curl -X POST "https://api.lumaledger.app/v1/vehicles" \
-H "Authorization: Bearer $LUMALEDGER_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"label": "…"
}'/v1/vehicles/{vehicle_id}Delete a vehicle
Delete a vehicle that was added by hand. Its loan account stays. One
found from an auto loan cannot be deleted (the next sync would find it
again): set its status to dismissed instead.
Parameters
vehicle_id integer · path · required | |
X-Organization-Id string | null · header |
Returns 204 with no body.
curl -X DELETE "https://api.lumaledger.app/v1/vehicles/{vehicle_id}" \
-H "Authorization: Bearer $LUMALEDGER_TOKEN"/v1/vehicles/{vehicle_id}Get a vehicle
One vehicle with its loan and equity.
Parameters
vehicle_id integer · path · required | |
X-Organization-Id string | null · header |
Returns 200 · Vehicle
equity | Value minus the loan. Null unless both are known. |
estimated_value | What it is worth. Null when nobody has said. |
excluded_from_totals boolean · required | Left out of the vehicle totals, and its loan out of net worth. |
hidden boolean · required | Hidden from the app's lists; still counted. |
id integer · required | |
label string · required | |
loan | |
make string | null · required | |
model string | null · required | |
model_year integer | null · required | |
source string · required | manual, inferred (found from an auto loan) or seed (demo data). |
status string · required | suggested (found from an auto loan, not yet reviewed), confirmed or dismissed. |
value_age_days integer | null · required | Days since valued_at. |
value_is_stale boolean | null · required | The value is over six months old. Null when it was never dated: not fresh, unknown. |
value_source string · required | user or none. |
valued_at date | null · required | The date the value is true for. |
vehicle_type string · required | One of car, motorcycle, truck, suv, van, rv, boat, other. |
vin string | null · required |
curl -X GET "https://api.lumaledger.app/v1/vehicles/{vehicle_id}" \
-H "Authorization: Bearer $LUMALEDGER_TOKEN"/v1/vehicles/{vehicle_id}Update a vehicle
Correct a vehicle's details, revalue it, link or unlink its loan, confirm or dismiss one found from an auto loan, or hide it or leave it out of the totals. Only the fields sent change.
Parameters
vehicle_id integer · path · required | |
X-Organization-Id string | null · header |
Body · VehicleUpdate
estimated_value string | A new value. Dated today unless valued_at is sent with it. Pattern: ^\d{1,12}(\.\d{1,2})?$. |
excluded_from_totals boolean | Leave it out of the totals, and its loan out of net worth. |
hidden boolean | |
label string | |
loan_account_id integer | null | Link a loan, or null to unlink it. |
make string | |
model string | |
model_year integer | 1900–2100. |
status string | One of confirmed, dismissed, suggested. |
valued_at date | The date the value is from; sent alone, it re-dates the current one. |
vehicle_type string | One of car, motorcycle, truck, suv, van, rv, boat, other. |
vin string |
Returns 200 · Vehicle
equity | Value minus the loan. Null unless both are known. |
estimated_value | What it is worth. Null when nobody has said. |
excluded_from_totals boolean · required | Left out of the vehicle totals, and its loan out of net worth. |
hidden boolean · required | Hidden from the app's lists; still counted. |
id integer · required | |
label string · required | |
loan | |
make string | null · required | |
model string | null · required | |
model_year integer | null · required | |
source string · required | manual, inferred (found from an auto loan) or seed (demo data). |
status string · required | suggested (found from an auto loan, not yet reviewed), confirmed or dismissed. |
value_age_days integer | null · required | Days since valued_at. |
value_is_stale boolean | null · required | The value is over six months old. Null when it was never dated: not fresh, unknown. |
value_source string · required | user or none. |
valued_at date | null · required | The date the value is true for. |
vehicle_type string · required | One of car, motorcycle, truck, suv, van, rv, boat, other. |
vin string | null · required |
curl -X PATCH "https://api.lumaledger.app/v1/vehicles/{vehicle_id}" \
-H "Authorization: Bearer $LUMALEDGER_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'Objects
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}$. |
Vehicle
A car, motorcycle, boat or other vehicle the household owns.
Fields
equity | Value minus the loan. Null unless both are known. |
estimated_value | What it is worth. Null when nobody has said. |
excluded_from_totals boolean · required | Left out of the vehicle totals, and its loan out of net worth. |
hidden boolean · required | Hidden from the app's lists; still counted. |
id integer · required | |
label string · required | |
loan | |
make string | null · required | |
model string | null · required | |
model_year integer | null · required | |
source string · required | manual, inferred (found from an auto loan) or seed (demo data). |
status string · required | suggested (found from an auto loan, not yet reviewed), confirmed or dismissed. |
value_age_days integer | null · required | Days since valued_at. |
value_is_stale boolean | null · required | The value is over six months old. Null when it was never dated: not fresh, unknown. |
value_source string · required | user or none. |
valued_at date | null · required | The date the value is true for. |
vehicle_type string · required | One of car, motorcycle, truck, suv, van, rv, boat, other. |
vin string | null · required |
VehicleCreate
Fields
estimated_value string | null | What it is worth, as a decimal string. Pattern: ^\d{1,12}(\.\d{1,2})?$. |
label string · required | What to call it: Blue Civic. |
loan_account_id integer | null | Its loan: a liability account (see accounts.list) no other vehicle is linked to. |
make string | null | |
model string | null | |
model_year integer | null | 1900–2100. |
valued_at date | null | The date the value is from. Defaults to today when a value is sent. |
vehicle_type string | One of car, motorcycle, truck, suv, van, rv, boat, other. Default: "car". |
vin string | null |
VehicleList
A page of vehicles, in id order.
Fields
data | |
has_more boolean · required | |
next_cursor string | null · required |
VehicleLoan
Fields
account_id integer · required | The loan's liability account (see accounts.list). |
balance Money · required | What is owed on it today, positive while owed. |
name string · required |
VehicleUpdate
Only the fields sent change. loan_account_id sent as null unlinks
the loan; the other fields cannot be cleared.
Fields
estimated_value string | A new value. Dated today unless valued_at is sent with it. Pattern: ^\d{1,12}(\.\d{1,2})?$. |
excluded_from_totals boolean | Leave it out of the totals, and its loan out of net worth. |
hidden boolean | |
label string | |
loan_account_id integer | null | Link a loan, or null to unlink it. |
make string | |
model string | |
model_year integer | 1900–2100. |
status string | One of confirmed, dismissed, suggested. |
valued_at date | The date the value is from; sent alone, it re-dates the current one. |
vehicle_type string | One of car, motorcycle, truck, suv, van, rv, boat, other. |
vin string |