Search fixed assets
Operation ID: searchFixedAssets
Group: Accounting › Asset Management › Fixed Assets
Open in the interactive reference
POST /fixed-assets/search
Read-only: A read that takes its filters in the body. Changes nothing, and ignores Idempotency-Key.
Searches fixed assets, returning the same fields as GET fixed-assets/:id and GET fixed-assets.
name, assetTag, assetNumber, and serialNumber can be filtered only on this endpoint. name and assetTag match any part of the value, and the match is case-insensitive. assetNumber and serialNumber must match exactly.
Voided assets are included. To leave them out, set fixedAssetStatuses to ['active'].
To find assets that were never disposed, set disposed to false. A disposalDate range can't find them, because an asset with no disposal date falls outside every range. If you send disposed: false together with a disposalDate range, no fixed assets are returned.
The acquisitionValueAmount range compares only the number, not the currency. Amounts are not converted, so a range of 1,000 to 5,000 matches an asset worth 2,000 USD and one worth 2,000 JPY. To match amounts in one currency only, also filter on currencies.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Api-Version |
header | string · v1 | yes | The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1. |
Request body
Required, application/json: searchFixedAssetsInput.
| Field | Type | Required | Description |
|---|---|---|---|
filters |
object | no | The filters to apply. A fixed asset must match every filter you send. Omit to return all fixed assets. If you send an empty list for a filter, that filter is ignored. Example: {"serialNumber":"SN-77120934"}. |
filters.ids |
array<string> | no | Limits results to the fixed assets with these ids. The match is exact. |
filters.fixedAssetNumber |
string | no | Limits results to the fixed asset with this fixed asset number. The match is exact and case-sensitive. Example: 'FA-1'. |
filters.assetNumber |
string | no | Limits results to the fixed assets with this asset number. The match is exact and case-sensitive. All the fixed assets of the asset are returned, one for each book it is recorded in. |
filters.serialNumber |
string | no | Limits results to fixed assets whose asset has this serial number. The match is exact and case-sensitive. |
filters.name |
string | no | Limits results to fixed assets whose name contains this text. The match is case-insensitive, and % and _ match as ordinary characters. Spaces at the start and end are ignored. If the text is empty or only spaces, this filter is ignored. |
filters.assetTag |
string | no | Limits results to fixed assets whose asset tag contains this text. The match is case-insensitive, and % and _ match as ordinary characters. Spaces at the start and end are ignored. If the text is empty or only spaces, this filter is ignored. |
filters.entityIds |
array<string> | no | Limits results to fixed assets whose asset belongs to any of these legal entities. The match is exact. See id on GET base/entities. |
filters.bookIds |
array<string> | no | Limits results to fixed assets in any of these accounting books. The match is exact. An asset recorded in more than one book has one fixed asset in each, so send one book before you add up amounts. See id on GET accounting/books/:id. |
filters.typeIds |
array<string> | no | Limits results to fixed assets of any of these types. The match is exact. |
filters.departmentIds |
array<string> | no | Limits results to fixed assets whose asset is assigned to any of these departments. The match is exact. See id on GET people/departments/:id. |
filters.businessUnitIds |
array<string> | no | Limits results to fixed assets whose asset is assigned to any of these business units. The match is exact. |
filters.fixedAssetStatuses |
array<string> | no | Limits results to fixed assets with any of these statuses. Accepted values: 'active', 'voided'. Send ['active'] to leave out voided fixed assets. |
filters.depreciationStatuses |
array<string> | no | Limits results to fixed assets with any of these depreciation statuses. Accepted values: 'NotStarted', 'Ongoing', 'Completed', 'Disposed', 'Voided'. 'Completed' also matches fixed assets that have no depreciation schedule. |
filters.depreciationMethods |
array<string> | no | Limits results to fixed assets with any of these depreciation methods. Accepted values: 'StraightLine', 'StraightLineProRateFirstLast', 'Degressive', 'Immediate', 'Bypassed', 'StraightLineHalfMonth', 'ExactDays'. |
filters.depreciationIntervals |
array<string> | no | Limits results to fixed assets with any of these depreciation intervals. Accepted values: 'Monthly', 'Quarterly', 'Yearly'. |
filters.assetStatuses |
array<string> | no | Limits results to fixed assets whose asset has any of these physical statuses. Accepted values: 'available', 'broken', 'inRepair', 'inUse', 'retired', 'disposed'. |
filters.currencies |
array<string> | no | Limits results to fixed assets in any of these currencies. Format: ISO 4217, for example 'EUR'. The match is exact and case-sensitive. |
filters.inServiceDate |
object | no | The range of in-service dates to match. Send start, end, or both. |
filters.inServiceDate.start |
date | no | Limits results to fixed assets placed in service on or after this date. Format: YYYY-MM-DD. |
filters.inServiceDate.end |
date | no | Limits results to fixed assets placed in service on or before this date. Format: YYYY-MM-DD. |
filters.acquisitionDate |
object | no | The range of acquisition dates to match. Send start, end, or both. |
filters.acquisitionDate.start |
date | no | Limits results to fixed assets acquired on or after this date. Format: YYYY-MM-DD. |
filters.acquisitionDate.end |
date | no | Limits results to fixed assets acquired on or before this date. Format: YYYY-MM-DD. |
filters.disposalDate |
object | no | The range of disposal dates to match. Send start, end, or both. |
filters.disposalDate.start |
date | no | Limits results to fixed assets disposed of on or after this date. Format: YYYY-MM-DD. |
filters.disposalDate.end |
date | no | Limits results to fixed assets disposed of on or before this date. Format: YYYY-MM-DD. |
filters.disposed |
boolean | no | When true, returns only fixed assets that have been disposed of. When false, returns only fixed assets that have not been disposed of. Omit to return both. |
filters.acquisitionValueAmount |
object | no | The range of acquisition values to match. Each fixed asset's value is compared in its own acquisitionValueCurrency, without conversion. Send min, max, or both. |
filters.acquisitionValueAmount.min |
decimal | no | Limits results to fixed assets with an acquisitionValueAmount of this value or more. |
filters.acquisitionValueAmount.max |
decimal | no | Limits results to fixed assets with an acquisitionValueAmount of this value or less. |
filters.lastModifiedDate |
object | no | The range of last-change times to match, in UTC. Send start, end, or both. |
filters.lastModifiedDate.start |
string | no | Limits results to fixed assets that last changed at or after this time. Format: YYYY-MM-DDTHH:mm:ss.sssZ. |
filters.lastModifiedDate.end |
string | no | Limits results to fixed assets that last changed at or before this time. Format: YYYY-MM-DDTHH:mm:ss.sssZ. |
page |
object | no | The page of results to return. Omit for the first page. |
page.cursor |
string | no | The cursor from the previous response's pagination.nextCursor. Omit on the first request. |
page.size |
number | no | The number of fixed assets per page, between 1 and 200. Defaults to 50. A value above 200 is treated as 200, and a value below 1 as 1, not rejected. |
{
"filters": {
"serialNumber": "SN-77120934"
},
"page": {
"cursor": "<cursor>",
"size": 0
}
}
Response
200 Success
Under data (searchFixedAssetsOutput):
| Field | Type | Required | Description |
|---|---|---|---|
items |
array<object> | yes | The fixed assets on this page, most recently created first. An empty array when nothing matches. Example: [{"id":"9d5b1f42-7c30-4e88-b1a6-2f0c7e34d915","fixedAssetNumber":"FA-000142","fixedAssetStatus":"active","companyAssetId":"3a7e5c81-9b24-4d0f-8e63-1c95af207b48","name":"Forklift - Warehouse 2","entityId":"c41d8e07-5f62-4a93-b7d1-8e0364f5a2c9","assetStatus":"inUse","assetNumber":"CA-0881","serialNumber":"SN-77120934","assetTag":"WH2-FORK-03","typeId":"7b2f9d13-4c68-4e51-a0d7-6f39c58e2b4a","typeName":"Machinery","currency":"EUR","inServiceDate":"2024-04-01","depreciationMethod":"StraightLine","depreciationInterval":"Monthly","depreciationStatus":"Ongoing","acquisitionValueAmount":"42000","depreciatedAmount":"13333.33","remainingValue":"28666.67","lastModifiedDate":"2026-08-18T09:14:22.517Z"}]. |
items[].id |
string | yes | The unique identifier for the fixed asset. |
items[].fixedAssetNumber |
string | no | The fixed asset number. Unique within the tenant. Each book's fixed asset has its own number, unlike assetNumber, which is the same in every book. Example: 'FA-1'. |
items[].fixedAssetStatus |
string | yes | The status of the fixed asset. Possible values: 'active', 'voided'. Voided fixed assets are returned here, unlike on GET fixed-assets. |
items[].companyAssetId |
string | yes | The asset this fixed asset records. Fixed assets of the same asset in different books have the same companyAssetId. |
items[].name |
string | no | The name of the asset. |
items[].entityId |
string | no | The legal entity that owns the asset. See id on GET base/entities. |
items[].assetStatus |
string | no | The physical status of the asset. Possible values: 'available', 'broken', 'inRepair', 'inUse', 'retired', 'disposed'. Disposing of an asset sets assetStatus to 'disposed' and leaves fixedAssetStatus as 'active'. |
items[].assetNumber |
string | no | The asset number. It is unique within the tenant, and all fixed assets of the same asset have the same number. |
items[].serialNumber |
string | no | The serial number of the asset. It is free text and does not have to be unique. |
items[].assetTag |
string | no | The asset tag of the asset, such as the code on a label attached to it. It is free text. |
items[].acquisitionDate |
date | no | The date the asset was acquired. Format: YYYY-MM-DD. |
items[].departmentId |
string | no | The department the asset is assigned to. Absent when the asset has no department. See id on GET people/departments/:id. |
items[].businessUnitId |
string | no | The business unit the asset is assigned to. Absent when the asset has no business unit. |
items[].typeId |
string | no | The type of the fixed asset. |
items[].typeName |
string | no | The name of the fixed asset type. Example: 'Machinery'. |
items[].bookId |
string | no | The accounting book the fixed asset is recorded in. See id on GET accounting/books/:id. |
items[].currency |
string | no | The currency of the fixed asset. Format: ISO 4217, for example 'EUR'. |
items[].inServiceDate |
date | no | The date the asset was placed in service. The depreciation schedule is calculated from this date. Format: YYYY-MM-DD. |
items[].depreciationMethod |
string | no | The depreciation method of the fixed asset. Possible values: 'StraightLine', 'StraightLineProRateFirstLast', 'Degressive', 'Immediate', 'Bypassed', 'StraightLineHalfMonth', 'ExactDays'. |
items[].depreciationInterval |
string | no | The interval at which depreciation is recorded for the fixed asset. Possible values: 'Monthly', 'Quarterly', 'Yearly'. |
items[].depreciationStatus |
string | no | The depreciation status of the fixed asset. Possible values: 'NotStarted', 'Ongoing', 'Completed', 'Disposed', 'Voided'. A fixed asset with no depreciation schedule also has the value 'Completed', so check depreciatedAmount before you treat a fixed asset as fully depreciated. |
items[].degressionRate |
decimal | no | The yearly rate of declining-balance depreciation, as a decimal fraction. For example, 0.2 is 20%. Used only when depreciationMethod is 'Degressive'. |
items[].acquisitionValueAmount |
decimal | no | The value the fixed asset was capitalized at, in the acquisitionValueCurrency. |
items[].acquisitionValueCurrency |
string | no | The currency of acquisitionValueAmount. Format: ISO 4217, for example 'EUR'. |
items[].salvageValueAmount |
decimal | no | The value the asset is expected to have at the end of its useful life (salvage value, also called residual value), in the salvageValueCurrency. Depreciation reduces the asset's net book value to this amount, not to zero. |
items[].salvageValueCurrency |
string | no | The currency of salvageValueAmount. Format: ISO 4217, for example 'EUR'. |
items[].depreciationStartValueAmount |
decimal | no | The value the fixed asset's depreciation started from, in the currency. Present only for imported fixed assets. |
items[].depreciableAmount |
decimal | no | The amount that is depreciated over the useful life of the fixed asset, in the currency. Formula: depreciationStartValueAmount - salvageValueAmount, or when depreciationStartValueAmount is absent, acquisitionValueAmount - salvageValueAmount. |
items[].depreciatedAmount |
decimal | no | The total depreciation of the fixed asset, in the currency. Formula: initialDepreciatedAmount + the depreciation recorded on the depreciation schedule. |
items[].initialDepreciatedAmount |
decimal | no | The depreciation the fixed asset had before it was imported, in the currency. Formula: acquisitionValueAmount - depreciationStartValueAmount, or 0 when depreciationStartValueAmount is absent. |
items[].remainingValue |
decimal | no | The net book value of the fixed asset, in the currency. Formula: acquisitionValueAmount - depreciatedAmount. It is 0 when fixedAssetStatus is 'voided' or assetStatus is 'retired' or 'disposed'. |
items[].disposalDate |
date | no | The date the asset was disposed of. Format: YYYY-MM-DD. Present only when the asset has been disposed of. |
items[].disposalAmount |
decimal | no | The value written off when the asset was disposed of, in the currency. Present only when the asset has been disposed of. |
items[].disposalEntryId |
string | no | The journal entry that records the disposal. Present only when the asset has been disposed of. See id on GET accounting/journal-entries/:id. |
items[].disposalEntryNumber |
string | no | The number of the journal entry that records the disposal. Present only when the asset has been disposed of. Example: 'JE-4412'. |
items[].soldAmountAmount |
decimal | no | The amount the asset was sold for, in the soldAmountCurrency. Present only when the asset was sold. |
items[].soldAmountCurrency |
string | no | The currency of soldAmountAmount. Format: ISO 4217, for example 'EUR'. It can differ from currency. |
items[].saleEntryId |
string | no | Platform id (a UUID) of the journal entry recording the sale. Absent when the asset wasn't sold. |
items[].saleEntryNumber |
string | no | Human-readable number of the sale journal entry, carried alongside saleEntryId. |
items[].saleReceivingAccountId |
string | no | The account the sale proceeds were received into. Present only when the asset was sold. See id on GET accounting/accounts/:id. |
items[].revenueAccountId |
string | no | The revenue account for the sale of the asset. Present only when the asset was sold and a revenue account was chosen for the sale. See id on GET accounting/accounts/:id. |
items[].saleDocumentId |
string | no | The invoice for the sale of the asset, created as a manual taxable document. Present only when the asset was sold. See id on GET tax-documents/manual-taxable-documents/:id. |
items[].saleDocumentNumber |
string | no | The number of the invoice for the sale of the asset. Present only when the asset was sold. See taxDocumentNumber on GET tax-documents/manual-taxable-documents/:id. |
items[].vatPercentageId |
string | no | The tax code applied to the sale of the asset. Present only when the asset was sold and a tax code was applied to the sale. See lines.id on GET accounting/tax-configurations/:id. |
items[].valueAllocationId |
string | no | The value accounting tags set on the fixed asset. Absent when the fixed asset has no tags. |
items[].lastModifiedDate |
date-time | yes | Instant the fixed asset record last changed, as ISO 8601 UTC (YYYY-MM-DDTHH:mm:ss.sssZ). Always present — the column is set on every row, and R2.4.1 wants one optionality across all three read entry points. NOTE it tracks the FixedAsset row only: renaming or reassigning the underlying CompanyAsset does not move it. |
pagination |
object | yes | Whether more fixed assets match, and the cursor for the next page. Example: {"hasMore":false}. |
pagination.hasMore |
boolean | yes | Whether more fixed assets match after this page. |
pagination.nextCursor |
string | no | The cursor for the next page. Pass it as page.cursor. Absent on the last page. |
{
"data": {
"items": [
{
"id": "9d5b1f42-7c30-4e88-b1a6-2f0c7e34d915",
"fixedAssetNumber": "FA-000142",
"fixedAssetStatus": "active",
"companyAssetId": "3a7e5c81-9b24-4d0f-8e63-1c95af207b48",
"name": "Forklift - Warehouse 2",
"entityId": "c41d8e07-5f62-4a93-b7d1-8e0364f5a2c9",
"assetStatus": "inUse",
"assetNumber": "CA-0881",
"serialNumber": "SN-77120934",
"assetTag": "WH2-FORK-03",
"typeId": "7b2f9d13-4c68-4e51-a0d7-6f39c58e2b4a",
"typeName": "Machinery",
"currency": "EUR",
"inServiceDate": "2024-04-01",
"depreciationMethod": "StraightLine",
"depreciationInterval": "Monthly",
"depreciationStatus": "Ongoing",
"acquisitionValueAmount": "42000",
"depreciatedAmount": "13333.33",
"remainingValue": "28666.67",
"lastModifiedDate": "2026-08-18T09:14:22.517Z"
}
],
"pagination": {
"hasMore": false
}
},
"diagnostics": [
{
"code": "<code>",
"message": "<message>",
"severity": "error",
"path": [
"<path>"
],
"details": "<details>"
}
]
}
Errors
| Code | Status |
|---|---|
INVALID_CURSOR |
400 |
INVALID_TIMESTAMP |
400 |
Statuses
400— Invalid request or business failure. Codes: INVALID_CURSOR, INVALID_TIMESTAMP401— The request carries no valid access token.403— Not authorized404— Not found429— Too many requests from this client address. The response has no body and noRetry-Afterheader.500— Internal server error