When to use this endpoint

Use AssetType_getRequestedDetails for CRM2 list pickers and configurable Asset Type layouts. It can return one, several, or all tenant types through the shared field-map contract.

Authentication and permissions

The request must authenticate with signed API-key fields or a logged-in CRM session. The handler performs no additional page or role-permission check.

The lookup and any write use the authenticated tenant; an ID from another tenant cannot be addressed through this call.

Parameters

ParameterTypeRequiredDescription
fieldsArrayNoNative request array of id, name, meta, lastEdited, attrs, rentalTypeID, and/or metaURL. Omission requests every mapped field; unknown names are ignored; id is always added.
id / idsInteger string or arrayNoRestrict by IDs. id takes precedence. Scalar values are integer-converted; array members are integer-converted when building the query.
name / meta / lastEdited / metaURLString or arrayNoExact case-insensitive filters. Arrays use IN. metaURL filters the JSON value at meta.url.
attrs / rentalTypeIDInteger string or arrayNoExact integer filters. Nonnumeric scalars become zero; nonnumeric array members are omitted.
orderField name, field object, or arrayNoMapped sort key(s). Objects use {"id":"name","dir":"desc"}; exact desc reverses that key. Unknown keys are ignored.
advanceSearchArrayNoShared CRM2 advanced-search conditions over mapped fields. Supported conditions include equal, contains, not-equal, greater/greater-or-equal, and lesser/lesser-or-equal.

Example request

$types = FM_api('AssetType_getRequestedDetails', [
	'ids' => ['47', '58'],
	'fields' => ['id', 'name', 'attrs', 'metaURL'],
	'order' => [['id' => 'name', 'dir' => 'asc']],
]);

Example response

[
  {"id": "47", "name": "Compressor", "attrs": "2", "metaURL": "https://example.test/assets"},
  {"id": "58", "name": "Mobile Compressor", "attrs": "2", "metaURL": null}
]

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.
[]No row matches, an empty numeric filter is supplied, or all supplied IDs are absent.
Runtime warning or type errorfields, order, or advanceSearch is sent in a malformed non-array shape; this legacy shared helper does not normalize every malformed input.

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

Behaviour and edge cases

  • With no IDs or mapped filters, all tenant asset types are returned. There is no pagination or implicit limit.
  • No default ordering is applied. Missing JSON paths are returned as null; meta
  • The endpoint has no status/deleted filter because asset types are permanently removed rather than soft-deleted.
  • Advanced-search objects containing a raw where expression are a trusted internal CRM shape and should not be constructed by integrations.

See it in Fieldmotion

CRM1

No direct production CRM1 caller was found.

CRM2

Open Asset Types, the Schedule of Rates page, a job timeline asset filter, or an Asset list picker and filter Network requests for AssetType_getRequestedDetails. Callers usually request only IDs and names.

Related endpoints