When to use this endpoint

Fetch full active job rows and optional asset-movement references for known timeline job IDs.

Authentication and permissions

Authenticate with signed API-key fields or a logged-in CRM session. These calls use the authenticated account’s data; the handler has no additional job-page, department, assignee or client-admin permission check unless stated below.

Parameters

ParameterTypeRequiredDescription
idsNative arrayYesConverted to integer IDs; an encoded JSON string is rejected. No individual positive-ID validation or empty-array guard.
list_assetsInteger stringNoAny nonzero integer enables an assets list for each returned job.

Example request

$jobs = FM_api('Jobs_getSome', ['ids' => ['1042'], 'list_assets' => '1']);

Example response

[]

The example is the valid empty response for IDs with no active job. Successful rows include every stored job column plus the joined form’s name as name (not form_name), and optional assets:[{id:...}]. The full shape is schema-dependent, not an allowlisted projection.

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":"no ids parameter supplied"}ids is absent.
{"error":"parameter supplied is not an array"}ids is a scalar/JSON string.
false or a runtime warning/failureAn empty native array builds IN (), or the job/asset query fails; there is no checked empty-list branch.

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

Behaviour and edge cases

  • Deleted/missing jobs are omitted. Rows sort by physical job ID ascending, regardless of request order. The SQL IN lookup does not duplicate a job for repeated request IDs.
  • Forms are LEFT JOINed without an active predicate. With list_assets, every matching asset_movements.asset_id is returned; there is no DISTINCT, movement direction/date filter or check that the referenced asset remains active.
  • Raw form_values, subform_values, meta, customer_details and stock_used are not decoded or normalized. This route does not derive local meeting_time or repair historic snapshots.
  • There is no projection allowlist, pagination or explicit request-size cap. It is not a replacement for Jobs_getById when integrations need a bounded response contract.

See it in Fieldmotion

CRM1

Open Jobs Timeline or Assets Timeline and load a date range. Those pages first obtain IDs, then request Jobs_getSome; Assets Timeline uses list_assets=1 and renders movement-linked assets.

CRM2

No direct CRM2 caller was found in the reviewed source. For batched job fields, see Jobs_getById.

Related endpoints

  • Jobs_getById provides an allowlisted projection, dual array formats and localized meeting_time.
  • Jobs_listIds can select IDs but does not supply the full timeline rows.