When to use this endpoint

Read a lightweight list of recurrence IDs with optional raw settings.

Authentication and permissions

Authenticate with signed API-key fields or a logged-in CRM session. All records resolve in the authenticated tenant. This handler has no additional Job edit-bit, department-visibility or owner check.

Parameters

ParameterTypeRequiredDescription
fieldsJSON stringNoArray of allowed raw column names; id is always selected. Invalid JSON/non-array input silently leaves only id; unknown/duplicate fields ignored.
customer_id, customer_typeInteger-like scalarsTogetherWhen both are present, filter the direct customer/asset and inherited customer recurrences. A lone parameter does not filter.
idsJSON stringNoArray of recurrence IDs, intval-coerced. Empty decoded array imposes no ID filter; malformed nonempty JSON is not safely validated.
user_idInteger-like scalarNoExact user filter when present, including 0.

Example request

$result = FM_api('JobRecurrences_list', ['fields'=>'["name","active","every","on_arr"]', 'user_id'=>'12']);

Example response

[{"id":"1042","name":"Monthly checks","active":"1","every":"4","on_arr":"2"}]

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

  • Allowed fields: active, edate, name, meta, copy_cust_ref, copy_user, copy_job_ref, every, on_arr, id, notes, cdate, ids, skip_weekends. Names are raw database aliases, not the CRM2 camelCase map.
  • For a customer, adds its immediate parent’s recurrences. For an asset, adds the direct owner’s and owner’s immediate parent’s recurrences. This is upward inheritance, unlike the downward scope of getByCustomerDT.
  • No active/deleted/department-visibility filter, pagination, limit or defined ordering is applied. Metadata/notes remain JSON strings and numeric columns normally remain strings.
  • Returns a bare array ([] when no rows); query failure can return false. Do not send native arrays where this handler calls json_decode.
  • Mobile clients were checked separately: recurrence notes/files are synchronized through m/www syncDownloads/syncDownloadOne and notes uploads, not direct calls to this endpoint. Those intermediary contracts are not expanded by this API route.

Side effects

  • Read-only; no cache repair, next-date refresh, audit or scheduler changes.

See it in Fieldmotion

CRM1

pageUserMain uses this to select recurrences for a user move. pageJobsRecurring and widgetInvoicesRecurring also use it to select recurrence configurations.

CRM2

widgetUserMoveRecurrence and widgetInvoiceRecurrence use this list. Recurring Jobs also calls it for selected configuration details.

Related endpoints