API reference
Fixed assets
Equipment in the register, depreciated by every close straight line over its useful life, and disposed of by one entry that posts the gain or loss.
- GET
/v1/fixed_assetsList fixed assets - POST
/v1/fixed_assetsRegister a fixed asset - GET
/v1/fixed_assets/{asset_id}Get a fixed asset month by month - PATCH
/v1/fixed_assets/{asset_id}Rename a fixed asset - DELETE
/v1/fixed_assets/{asset_id}Delete a fixed asset no close has depreciated - POST
/v1/fixed_assets/{asset_id}/disposeDispose of a fixed asset
Guides: Depreciate equipment and sell it
List fixed assets
GET/v1/fixed_assets
client.fixedAssets.list()
The fixed asset register, the newest first: what each asset cost, what the closes have depreciated, and its book value.
Parameters
| Name | Type | Description |
|---|---|---|
statusQuery | string or null | Only assets in this state. in_service, disposed |
limitQuery | integer | Page size, 1–200. |
cursorQuery | string or null | The |
Response
Errors
- 400
- The request was malformed or a parameter is invalid.
- 401
- No valid credential was sent.
- 403
- The credential or the member's role does not allow this.
- 404
- No such resource in this ledger.
- 409
- A conflicting request, e.g. one with the same Idempotency-Key still running.
- 422
- A well-formed request a business rule refused.
- 429
- Too many requests; retry after the Retry-After header.
- 500
- Something failed on our side; the request_id identifies it.
Example
curl "https://api.ledgerit.ai/v1/fixed_assets" \
-H "Authorization: Bearer $LEDGERIT_TOKEN"Register a fixed asset
POST/v1/fixed_assets· Idempotent
client.fixedAssets.create()
Put an asset in the register and start depreciating it.
Its cost is already in the books, filed to the asset account when it was
bought; registering posts nothing. Every close from the month it went into
service posts that month's depreciation, straight line, and a month
already closed is caught up at the next close, carrying the department
named. Refused with fixed_asset_terms for salvage at or above cost, an
account of the wrong type, or a source transaction that is not filed to
the asset account or is already another asset's.
Request body
Response
Errors
- 400
- The request was malformed or a parameter is invalid.
- 401
- No valid credential was sent.
- 403
- The credential or the member's role does not allow this.
- 404
- No such resource in this ledger.
- 409
- A conflicting request, e.g. one with the same Idempotency-Key still running.
- 422
- A well-formed request a business rule refused.
- 429
- Too many requests; retry after the Retry-After header.
- 500
- Something failed on our side; the request_id identifies it.
Example
curl -X POST "https://api.ledgerit.ai/v1/fixed_assets" \
-H "Authorization: Bearer $LEDGERIT_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"cost":0,"name":"…","placed_in_service_on":"2026-09-30","useful_life_months":0}'Get a fixed asset month by month
GET/v1/fixed_assets/{asset_id}
client.fixedAssets.get()
A fixed asset with its depreciation month by month: what each month takes, and the entry that posted it.
Parameters
| Name | Type | Description |
|---|---|---|
asset_idPath · Required | string | An id that starts with |
Response
Errors
- 400
- The request was malformed or a parameter is invalid.
- 401
- No valid credential was sent.
- 403
- The credential or the member's role does not allow this.
- 404
- No such resource in this ledger.
- 409
- A conflicting request, e.g. one with the same Idempotency-Key still running.
- 422
- A well-formed request a business rule refused.
- 429
- Too many requests; retry after the Retry-After header.
- 500
- Something failed on our side; the request_id identifies it.
Example
curl "https://api.ledgerit.ai/v1/fixed_assets/{asset_id}" \
-H "Authorization: Bearer $LEDGERIT_TOKEN"Rename a fixed asset
PATCH/v1/fixed_assets/{asset_id}· Idempotent
client.fixedAssets.update()
Rename a fixed asset or change its memo. Its cost, life and accounts stay as registered: delete it before the first close depreciates it, or dispose of it and register it again.
Parameters
| Name | Type | Description |
|---|---|---|
asset_idPath · Required | string | An id that starts with |
Request body
Response
Errors
- 400
- The request was malformed or a parameter is invalid.
- 401
- No valid credential was sent.
- 403
- The credential or the member's role does not allow this.
- 404
- No such resource in this ledger.
- 409
- A conflicting request, e.g. one with the same Idempotency-Key still running.
- 422
- A well-formed request a business rule refused.
- 429
- Too many requests; retry after the Retry-After header.
- 500
- Something failed on our side; the request_id identifies it.
Example
curl -X PATCH "https://api.ledgerit.ai/v1/fixed_assets/{asset_id}" \
-H "Authorization: Bearer $LEDGERIT_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'Delete a fixed asset no close has depreciated
DELETE/v1/fixed_assets/{asset_id}· Idempotent
client.fixedAssets.delete()
Take an asset out of the register before any close has depreciated it.
Refused with fixed_asset_in_use once its depreciation is in the books:
dispose of it instead.
Parameters
| Name | Type | Description |
|---|---|---|
asset_idPath · Required | string | An id that starts with |
Response
204No content
Errors
- 400
- The request was malformed or a parameter is invalid.
- 401
- No valid credential was sent.
- 403
- The credential or the member's role does not allow this.
- 404
- No such resource in this ledger.
- 409
- A conflicting request, e.g. one with the same Idempotency-Key still running.
- 422
- A well-formed request a business rule refused.
- 429
- Too many requests; retry after the Retry-After header.
- 500
- Something failed on our side; the request_id identifies it.
Example
curl -X DELETE "https://api.ledgerit.ai/v1/fixed_assets/{asset_id}" \
-H "Authorization: Bearer $LEDGERIT_TOKEN" \
-H "Idempotency-Key: $(uuidgen)"Dispose of a fixed asset
POST/v1/fixed_assets/{asset_id}/dispose· Idempotent
client.fixedAssets.dispose()
Sell, scrap or give away a fixed asset.
Depreciation is caught up through the month before (none is taken in the
month of disposal), then one entry on the disposal day takes it off the
books: its accumulated depreciation and any proceeds against its cost,
the difference a gain or a loss. Reverse that entry from the ledger to put
it back in service. Refused with fixed_asset_not_disposable when it was
already disposed of, or its depreciation is posted past the day.
Parameters
| Name | Type | Description |
|---|---|---|
asset_idPath · Required | string | An id that starts with |
Request body
Response
Errors
- 400
- The request was malformed or a parameter is invalid.
- 401
- No valid credential was sent.
- 403
- The credential or the member's role does not allow this.
- 404
- No such resource in this ledger.
- 409
- A conflicting request, e.g. one with the same Idempotency-Key still running.
- 422
- A well-formed request a business rule refused.
- 429
- Too many requests; retry after the Retry-After header.
- 500
- Something failed on our side; the request_id identifies it.
Example
curl -X POST "https://api.ledgerit.ai/v1/fixed_assets/{asset_id}/dispose" \
-H "Authorization: Bearer $LEDGERIT_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"disposed_on":"2026-09-30"}'Objects
The objects these operations take and return.
FixedAssetPage
| Name | Type | Description |
|---|---|---|
dataRequired | array of FixedAssetOut | |
has_moreRequired | boolean | |
next_cursorRequired | string or null |
FixedAssetCreate
| Name | Type | Description |
|---|---|---|
accumulated_depreciation_account_id | string or null | An id that starts with |
asset_account_id | string or null | An id that starts with |
costRequired | number | string | What it cost, in the books' currency, already in the asset account. |
department_value_id | string or null | An id that starts with |
depreciation_expense_account_id | string or null | An id that starts with |
memo | string or null | |
nameRequired | string | What it is, e.g. |
placed_in_service_onRequired | string (date) | The day it went into use. |
salvage_value | number | string | What it will be worth at the end; less than its cost. |
source_event_id | string or null | An id that starts with |
useful_life_monthsRequired | integer | How many months it lasts: 36 for a laptop. |
FixedAssetDetailOut
| Name | Type | Description |
|---|---|---|
accumulated_depreciationRequired | string | What the closes have depreciated so far. |
accumulated_depreciation_accountRequired | AccountRef | Where its depreciation builds up. |
asset_accountRequired | AccountRef | Where its cost sits, e.g. 1600 Computer equipment. |
book_valueRequired | string | Cost less accumulated depreciation; zero once disposed of. |
costRequired | string | What it cost, in the books' currency. |
created_atRequired | string (date-time) | |
currencyRequired | string | |
department_nameRequired | string or null | That department's name; null for none. |
department_value_idRequired | string or null | An id that starts with |
depreciates_throughRequired | string (date) | The last day of its last month of depreciation. |
depreciation_expense_accountRequired | AccountRef | Where each month's depreciation is expensed. |
disposal_entry_idRequired | string or null | An id that starts with |
disposal_proceedsRequired | string or null | What the disposal brought in. |
disposed_onRequired | string (date) or null | The day it was sold, scrapped or given away. |
fully_depreciatedRequired | boolean | Whether the closes have taken all of its cost less salvage into depreciation. |
gain_loss_account_idRequired | string or null | An id that starts with |
gain_or_lossRequired | string or null | Proceeds less book value at disposal: positive is a gain, negative a loss. |
idRequired | string | An id that starts with |
memoRequired | string or null | |
methodRequired | straight_line |
|
monthly_depreciationRequired | string | A full month's depreciation: cost less salvage over its useful life, rounded to the currency's minor unit. The months posted even out the rounding, so they add up to cost less salvage exactly. |
monthsRequired | array of DepreciationMonthOut | Every month it depreciates in, oldest first. A disposed asset's stop at the month before. |
nameRequired | string | What it is, e.g. |
placed_in_service_onRequired | string (date) | The day it went into use. Depreciation starts that month, a full month. |
proceeds_account_idRequired | string or null | An id that starts with |
salvage_valueRequired | string | What it will be worth at the end of its useful life. |
schedule_idRequired | string | Its depreciation schedule, which every close posts. |
source_event_dateRequired | string (date) or null | That transaction's date; null without one. |
source_event_descriptionRequired | string or null | That transaction's description, as the books name it; null without one. |
source_event_idRequired | string or null | An id that starts with |
statusRequired | string |
in_service, disposed |
useful_life_monthsRequired | integer | How many months it depreciates over. |
FixedAssetChange
Only what is sent changes. Its terms stay as registered.
| Name | Type | Description |
|---|---|---|
memo | string or null | |
name | string or null |
DisposalIn
| Name | Type | Description |
|---|---|---|
disposed_onRequired | string (date) | The day it was sold, scrapped or given away. |
gain_loss_account_id | string or null | An id that starts with |
proceeds | number | string | What it brought in. Leave it at zero when the money arrives through a connected bank, and file that deposit to gain or loss on disposal. |
proceeds_account_id | string or null | An id that starts with |
FixedAssetOut
| Name | Type | Description |
|---|---|---|
accumulated_depreciationRequired | string | What the closes have depreciated so far. |
accumulated_depreciation_accountRequired | AccountRef | Where its depreciation builds up. |
asset_accountRequired | AccountRef | Where its cost sits, e.g. 1600 Computer equipment. |
book_valueRequired | string | Cost less accumulated depreciation; zero once disposed of. |
costRequired | string | What it cost, in the books' currency. |
created_atRequired | string (date-time) | |
currencyRequired | string | |
department_nameRequired | string or null | That department's name; null for none. |
department_value_idRequired | string or null | An id that starts with |
depreciates_throughRequired | string (date) | The last day of its last month of depreciation. |
depreciation_expense_accountRequired | AccountRef | Where each month's depreciation is expensed. |
disposal_entry_idRequired | string or null | An id that starts with |
disposal_proceedsRequired | string or null | What the disposal brought in. |
disposed_onRequired | string (date) or null | The day it was sold, scrapped or given away. |
fully_depreciatedRequired | boolean | Whether the closes have taken all of its cost less salvage into depreciation. |
gain_loss_account_idRequired | string or null | An id that starts with |
gain_or_lossRequired | string or null | Proceeds less book value at disposal: positive is a gain, negative a loss. |
idRequired | string | An id that starts with |
memoRequired | string or null | |
methodRequired | straight_line |
|
monthly_depreciationRequired | string | A full month's depreciation: cost less salvage over its useful life, rounded to the currency's minor unit. The months posted even out the rounding, so they add up to cost less salvage exactly. |
nameRequired | string | What it is, e.g. |
placed_in_service_onRequired | string (date) | The day it went into use. Depreciation starts that month, a full month. |
proceeds_account_idRequired | string or null | An id that starts with |
salvage_valueRequired | string | What it will be worth at the end of its useful life. |
schedule_idRequired | string | Its depreciation schedule, which every close posts. |
source_event_dateRequired | string (date) or null | That transaction's date; null without one. |
source_event_descriptionRequired | string or null | That transaction's description, as the books name it; null without one. |
source_event_idRequired | string or null | An id that starts with |
statusRequired | string |
in_service, disposed |
useful_life_monthsRequired | integer | How many months it depreciates over. |
AccountRef
| Name | Type | Description |
|---|---|---|
codeRequired | string | |
idRequired | string | An id that starts with |
nameRequired | string |
DepreciationMonthOut
| Name | Type | Description |
|---|---|---|
amountRequired | string | The month's depreciation. |
ends_onRequired | string (date) | The month's last day. |
journal_entry_idRequired | string or null | An id that starts with |
recognized_onRequired | string (date) or null | The day of the entry that posted it: a later close's, when the month was caught up. |