When to use this endpoint

Use before replacing shared notes with setNotes. These are recurrence notes, not the selected job's ordinary notes.

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

$notes = FM_api('JobRecurrence_getNotes', ['id'=>'1042']);

Example response

{"notes":"[{\"content\":\"Inspect access equipment.\"}]"}

notes is stored JSON text and can also be null or historical plain text. The handler does not parse or normalize it.

Missing row returns false; an existing row with null notes returns {"notes":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.
{"error":"missing or invalid parameter: id"}Missing/nonpositive ID.
falseNo matching recurrence or database helper failure.

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

Behaviour and edge cases

  • Inactive sequences are included; there are no child-job, department or user filters.
  • No write, scheduler bump, note timestamp insertion or notification occurs. This is a single-row lookup without pagination.

See it in Fieldmotion

CRM1

Open a job's shared recurrence-notes editor; pageJob fetches JobRecurrence_getNotes before saving the replacement with setNotes.

CRM2

No direct production CRM2 call was found. The shared recurrence editor loads notes through JobRecurrence_get and the module uses mapped recurrence data.

Related endpoints