When to use this endpoint

Use to refresh a user’s preset collection. This is the visibility-filtered list; it does not restrict results to one page key.

Authentication and permissions

Authenticate with signed API-key fields or a logged-in CRM session. A tenant login is required.

Reads expose only filters owned by the current user or marked public=1. Writes require ownership or client-administrator permission; another user’s public filter is not editable merely because it is visible. Assigning or transferring ownership to another active tenant user requires client-administrator permission.

Parameters

This endpoint has no operation-specific parameters.

Example request

$result = FM_api('UserFilters_get');

Example response

{"filters":[{"id":"1088","cdate":"2026-10-09 10:00:00","user_id":"1042","name":"Northwind jobs","data":"{\"searchValue\":\"Northwind\"}","public":"0","page_type":"pageJobs","meta":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.
{"filters":[]}No visible presets.
{"error":"configuration read failed"}A required database read fails; no write is committed.

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 every stored column, with physical snake_case names and encoded JSON data/meta strings. It does not decode payloads, paginate, filter by page_type, order rows or check owner-account activity.
  • Only the current user’s own filters and public=1 filters are visible, including when an explicit ID is requested. Missing/private IDs are omitted; empty selectors never bypass this visibility predicate.

See it in Fieldmotion

CRM1

Open Jobs, Calendar or Timeline and filter Network requests for UserFilters_get. client/header.js loads and caches visible presets when the collection is not already available, then groups them by page_type and decodes data. Login/footer bootstrap can supply the same collection without another request. The shared page loader can also copy and delete legacy page-key presets during client-side normalization; those mutations are separate save/delete calls, not side effects of this reader.

CRM2

No direct CRM2 production call was found. Login/loading provides preset data to crmData.userFilters; the preset UI groups that local collection by page_type.

Related endpoints