When to use this endpoint

Use when the job's recurrence_id is already known. getRID can resolve legacy cached membership when it is not. This is the raw stored record, not a generated-job list or a mapped editor response.

Authentication and permissions

Authenticate with signed API-key fields or a logged-in CRM session. The handler adds no role, page, ownership or department-visibility check.

Reads the authenticated tenant. There is no active-only recurrence filter and no pagination.

Parameters

ParameterTypeRequiredDescription
idInteger stringYesRecurrence ID, converted to an integer. It is not a job ID.

Example request

$recurrence = FM_api('JobRecurrence_get', ['id'=>'1042']);

Example response

{
  "id": "1042",
  "name": "Monthly inspections",
  "ids": "1087,1088",
  "cdate": "2026-10-14",
  "edate": null,
  "active": "1",
  "every": "3",
  "on_arr": "30",
  "customer_id": "81",
  "customer_type": "0",
  "next_date": null,
  "user_id": "0",
  "notes": "[{\"content\":\"Inspect access equipment.\"}]",
  "files": null,
  "edited_uuid": "JobRecurrence_setName",
  "last_edited": "2026-10-14 10:00:00",
  "days_in_advance": "30",
  "copy_user": "1",
  "copy_cust_ref": "0",
  "department_id": "0",
  "form_id": "0",
  "schedule": "{}",
  "meta": "{\"copy_job_value\":1,\"due_date_offset\":0}",
  "custom": null,
  "copy_job_ref": null,
  "created_by": "81",
  "skip_weekends": "0"
}

Representative stored row: select * returns every column present on the tenant. Database scalars are generally strings; nullable fields remain null. notes, schedule, meta and custom remain JSON text, not decoded objects.

A positive ID without a row returns JSON false, not an error or empty object.

No fields parameter is read; adding it does not narrow select *. Physical IDs in encoded schedule/metadata are not expanded to names.

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: id"}Missing/nonpositive ID.
falseNo recurrence row (also the database helper's failure result).

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

Behaviour and edge cases

  • Includes inactive sequences. No customer, department, child-active-state or ownership filtering is applied.
  • ids is a cached comma-separated string, not a native array or proof that all those jobs still exist. getRID searches that cache and checkJobIds can prune stale active-job references.
  • No ordering or pagination applies to a single-row lookup. The read itself performs no writes or generation.

See it in Fieldmotion

CRM1

Open the recurrence editor on a job or click the frequency cell in Jobs → Recurring Jobs; filter for JobRecurrence_get. CRM1 decodes meta separately.

CRM2

Open recurrence settings on a job; the shared jobEditRecurrence loader calls JobRecurrence_get with recurrence_id, then decodes meta and schedule. There is no request-side field projection.

Related endpoints