When to use this endpoint

Use Assets_listSimple for a compact asset picker, especially when choosing an asset as another asset’s whereabouts or adding assets to a job.

Authentication and permissions

The request must authenticate with signed API-key fields or a logged-in CRM session. The handler requires login or an established tenant database context and performs no additional Asset-page or role-permission check unless the page says otherwise.

Every query and write uses the authenticated tenant’s tables. CRM1 and CRM2 may hide actions through client-side permissions that these collection routes do not repeat.

Parameters

ParameterTypeRequiredDescription
except_idInteger-compatibleNoExclude this asset ID from the normal filtered set.
type_idNative arrayNoAsset type IDs. The filter is applied only when the array is nonempty and its first value integer-converts above zero.
nameStringNoCase-insensitive database substring match against the asset name.
always_includeInteger-compatibleNoPositive asset ID appended through an OR, bypassing deleted, archived, type, name, and except_id filters.

Example request

$assets = FM_api('Assets_listSimple', [
	'type_id' => ['17'],
	'name' => 'compressor',
]);

Example response

[
  {"id": "4821", "aname": "Compressor 4", "code": "CMP-004", "owner_id": "1042", "type_id": "17", "type": "Compressor", "oname": "Example Engineering", "location": "Example Engineering"}
]

Errors and unusual responses

ResponseCondition
{"error":"not logged in"}No authenticated tenant context is available. Invalid signed credentials can be rejected by the dispatcher before the handler runs.

Legacy application errors may be returned with HTTP 200. Check the decoded response for error, not only the HTTP status.

Behaviour and edge cases

  • Normal rows exclude soft-deleted and archived assets. The endpoint does not filter the separate active flag.
  • location resolves location_id as a customer regardless of location_type, so it is meaningful only for customer whereabouts. No ordering or pagination is applied.

See it in Fieldmotion

CRM1

Job and asset editors use this route for compact Asset selectors and pass always_include when preserving a current choice.

CRM2

Current CRM2 mapped pickers normally use Assets_getDataTable; no direct CRM2 call to this legacy route was found.

Related endpoints