When to use this endpoint

Populate CRM1 Settings → Links with the complete visible collection for client-side search, sort and paging. Use Links_getDataTable for server paging and named fields.

Authentication and permissions

Authenticate with signed API-key fields or a logged-in CRM session. All bookmark endpoints require Settings Links View (pageSettingsLinks_view); client administrators pass the standard permission helper. Missing permission fails closed. An API key acts as its associated user.

The authenticated tenant owns the rows. Reads expose userID=0 (shared) and the acting user’s rows, even for admins. Writes to existing rows require ownership unless the actor is a client administrator; non-admins cannot edit/delete shared rows. No bookmark-specific tenant setting, department filter or separate create/edit role is consulted.

Parameters

ParameterTypeRequiredDescription
drawIntegerNoInteger-converted and echoed only when present/non-null.
search / order / start / lengthDataTables controlsIgnoredNo server search, order, page offset or limit; processing is local to CRM1.

Example request

$table = FM_api('Links_getDT', ['draw'=>'1']);

Example response

{"recordsTotal":"1","recordsFiltered":"1","data":[["Operations handbook","https://example.test/handbook/","1042"]],"draw":1}

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":"permission denied"}Missing page access, non-owned existing write target, or forbidden ownership assignment.
{"error":"missing or invalid parameter: id/ids"}Invalid explicit ID selector; absent required selectors can instead report missing or invalid parameter: id.
{"error":"Bookmark not found or not editable"}An update target does not exist.
{"error":"Unable to save bookmark changes. Check the saved state before retrying."}Failed database/history operation or uncertain commit. Read failures instead return Unable to read bookmarks.

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

Behaviour and edge cases

  • Each row is [name,url,id]. Both counts are strings equal to the visible data length, including for an admin. Other owners are excluded. No ordering is established.
  • No matches returns an empty data array and string zero counts. Read failure returns an error. No date/feature filter is applied.
  • Native request arrays are required where stated; JSON strings are not decoded. No direct mobile app/m-service caller for this Settings-bookmark family was found. Bookmark IDs are unrelated to document share tokens.

Side effects

  • Read-only, with no icon refresh or access audit.

See it in Fieldmotion

CRM1

Settings → Links calls Links_getDT; serverSide is disabled, so DataTables handles paging/search locally.

CRM2

No direct production caller found. Its Links table uses Links_getDataTable.

Related endpoints