When to use this endpoint

Use AssetMaintenances_getDescriptions to annotate job-list rows that belong to legacy asset maintenance schedules without making one request per recurrence.

Authentication and permissions

The request must establish an authenticated tenant through signed API-key fields or a CRM session. The handler checks tenant context but performs no page, role, or feature-permission check.

The PHP session write lock is released before the database query so concurrent requests from the same CRM session are not held behind this lookup.

Parameters

ParameterTypeRequiredDescription
ridsArray of integer stringsYesNative request array of recurrence IDs. Values are integer-converted. A JSON-encoded string is not decoded and can cause a runtime type error.

Example request

$descriptions = FM_api('AssetMaintenances_getDescriptions', [
	'rids' => ['879027', '879031'],
]);

Example response

[
  {"recurrence_id": "879027", "name": "Filter service"},
  {"recurrence_id": "879031", "name": "Safety inspection"}
]

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.
{"error":"missing or invalid parameter: rids"}The rids key is absent.
Runtime type/database errorrids is not an array, or is empty and produces an empty SQL IN list.

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

Behaviour and edge cases

  • Missing recurrence IDs are omitted. Input duplicates do not create duplicate rows unless duplicate maintenance data already exists.
  • Results have no guaranteed order and are not aligned positionally with the request.
  • Active state, asset state, and feature access are not filtered. There is no pagination or explicit batch-size limit.

See it in Fieldmotion

CRM1

Open the main Jobs list with recurrence rows visible. CRM1 batches their recurrence IDs, calls AssetMaintenances_getDescriptions, and adds any returned maintenance label beneath the job reference.

CRM2

No production CRM2 caller was found.

Related endpoints