Jobs: lookups and details
Find user IDs referenced by a job
/a/Job_getLinkedUsers
Collect the assigned user and user-picker values in a job’s attendees, main form and tables.
When to use this endpoint
Collect the assigned user and user-picker values in a job’s attendees, main form and tables.
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
| Parameter | Type | Required | Description |
|---|---|---|---|
id | Integer string | Yes | Job ID, converted with intval; the result must be positive. This selects a physical job ID, not an app ID or job reference. |
Example request
$result = FM_api('Job_getLinkedUsers', ['id' => '1042']);
Example response
{"assigned":201,"attendees":[202],"main_form":[203],"tables":[204]}
Errors and unusual responses
| Response | Condition |
|---|---|
{"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 is absent or nonpositive. |
{"error":"job does not exist"} | No active job matches, or its lookup fails. |
Legacy application errors may be returned with HTTP 200. Check the decoded response for error, not only the HTTP status.
Behaviour and edge cases
- The handler checks tenant context through DBP rather than calling Core_requireLogin. Normal API dispatch supplies that context from the authenticated account.
- assigned is user_id converted to an integer; user_type is not inspected, so an outsourced account ID is not distinguished from an ordinary user ID.
- attendees contains integer prefixes from attendees.emails values matching digits followed by a colon. Plain email addresses do not become IDs.
- main_form reads fields of type users by field name. tables reads users columns by positional index in referenced subform rows. IDs are not deduplicated or verified against active users.
- Form/table scanning runs only when form_values is truthy. Malformed legacy JSON and inconsistent form definitions are not given a dedicated validation error. There is no pagination or mutation.
See it in Fieldmotion
CRM1
No direct CRM1 caller was found in the reviewed source. Use this focused API request when the full job editor payload is unnecessary.
CRM2
No direct CRM2 caller was found in the reviewed source. For batched job fields, see Jobs_getById.
Related endpoints
Jobs_getByIdcan return raw user/form metadata, but does not build these four groups.Job_formLogGetreads changes to form fields, not current referenced users.