Fixed Asset Types

Group: Accounting › Asset Management

Open in the interactive reference

Fixed asset types: the master data a fixed asset is created from, carrying the depreciation defaults it inherits — read one, or walk the collection with structured filters.

A fixed asset type is master data: the template a fixed asset is created from. It carries the depreciation defaults — above all defaultUsefulLife — that a new asset inherits, and it is what typeId on a fixed asset points at.

Two read routes, one item schema. GET fixed-asset-types/{id} reads one type and GET fixed-asset-types walks the collection with filters in the query string. Both return the same fields, so a caller can move between them without remapping anything. There is no POST .../search on this resource: every field it publishes is a URL-safe scalar, so the collection route can already express every query, and adding a search body would duplicate the contract in two places.

name is filterable here, unlike on most resources. An asset type name is a classification label chosen by whoever configures the module — 'Machinery', 'Vehicles' — not a person, a counterparty or physical property, so it is not identifying data that has to stay out of a query string. It is exact-match only; there is no free-text search on this resource.

The hierarchy is one level as published here. groupId and groupName name the FixedAssetTypeGroup a type belongs to. That group may itself have a parent, and this API does not walk it — a caller needing the full tree reads the groups themselves.

defaultUsefulLife is a count of periods, not an amount and not a duration. It is read together with the depreciation interval on the asset that inherits it; the number alone does not say whether it means months or years.

Inactive types are returned by both routes. active is on every response and filterable on the collection: a type is deactivated rather than deleted once assets reference it, and an integration reconciling historical assets still has to resolve the type they point at. Filter active when populating a picker.

Incremental sync is filter[lastModifiedDate][gte]=…&sort=lastModifiedDate on the collection. It tracks the FixedAssetType row only: renaming the group a type belongs to does not move it.

Every request carries an Api-Version header — v1 — alongside the bearer token. It is required, with no default: a missing or empty header, or one naming a version this company does not have, is answered with 400; a route that exists but not in the requested version is answered with 404.

One thing to know before writing error handling: a business failure such as NOT_FOUND arrives under HTTP 400, not 404, because a route cannot yet declare a status per diagnostic code. Branch on the code in the error body.

Endpoints