Saved views and configuration
List visible filter presets
/a/UserFilters_get
Load presets owned by the authenticated user plus presets marked public.
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
| 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. |
{"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
UserFilter_savecreates or replaces a preset.UserFilters_getDTpaginates the visibility-filtered legacy settings table.