When to use this endpoint

Duplicate a subset of recurrence settings without copying its jobs. Use the recurrence ID, not the example job ID, unless a parameter explicitly says otherwise.

Authentication and permissions

Authenticate with signed API-key fields or a logged-in CRM session and tenant context. Job edit-restriction bit 128 applies, with the existing client-administrator exception. There is no additional recurrence-owner or department-visibility filter.

Parameters

ParameterTypeRequiredDescription
idInteger stringYesPositive recurrence ID; numeric input is coerced with intval unless stated otherwise.

Example request

$result = FM_api('JobRecurrence_copy', ['id'=>'1042']);

Example response

{"id":1043}

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"}ID missing/nonpositive.
{"error":"No permission to edit"}Job edit restriction applies.
falseSource row absent.
{"error":"Unable to save job delivery changes"}Checked copy/history failed and was rolled back.

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

Behaviour and edge cases

  • Returns false for a missing source; successful copies return a positive integer ID. A failed insert/history returns a checked transaction error rather than id=0.
  • Retains name, expiry (including NULL), active, frequency, customer identity, default user, notes, copy flags, department/form, schedule, custom settings and skip-weekends. Metadata retains generation options and explicit target/department overrides.
  • Strips worker building/stop flags and linked invoice-recurrence ownership from copied metadata. Does not carry cached jobs, next_date or original creation identity.
  • Uses the current recurrence-days horizon and acting user as creator. The new sequence has an empty job cache, NULL next_date and default files; attachment associations are not cloned. cdate is today.
  • Copying an already-expired configuration does not extend its expiry. Job_copy performs the separate example-job duplication/linkage afterward.

Side effects

  • Checked tenant transaction locks the source and commits the copied row and copy history together. Creation/edit dates and operation marker are fresh.
  • No direct scheduler registration, reminder or job creation is performed by this endpoint.

See it in Fieldmotion

CRM1

Duplicating a job invokes this inside Job_copy when the original job metadata has a recurrence ID. Inspect Job_copy in the Network panel; its wider job-copy operations are not effects of this endpoint alone.

CRM2

The shared job duplication backend uses Job_copy and can reach this internally; no direct canonical recurrence-copy call was found.

Related endpoints