Saved views and configuration
List visible presets for the legacy settings table
/a/UserFilters_getDT
Page and search the current user’s own and public presets in CRM1’s positional table format.
When to use this endpoint
Use with CRM1 Settings → Filters. This has positional arrays and a visibility rule; it is not interchangeable with the CRM2 mapped table route.
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
| Parameter | Type | Required | Description |
|---|---|---|---|
draw | Nonnegative integer string | Yes | Echoed as integer. |
start | Nonnegative integer string | Yes | Zero-based SQL offset. |
length | Positive integer string | Yes | Page size, with no upper cap or -1 all-rows token. |
name | String | No | Name substring; SQL LIKE wildcards remain meaningful. |
search[value] | String | No | Trimmed substring over preset name, owner name and page_type. |
order | Native DataTables list | No | First entry only. column 0=id, 1=name, 2=page_type, 3=owner name; other numeric indices use name. dir must be asc or desc. Default id ascending; id ascending breaks ties. |
Example request
$result = FM_api('UserFilters_getDT', ['draw' => '1', 'start' => '0', 'length' => '25', 'name' => 'Northwind']);
Example response
{"draw":1,"recordsTotal":"1","recordsFiltered":"1","data":[["1088","Northwind jobs","pageJobs",["1042","Alex Example"],"0","{\"searchValue\":\"Northwind\"}",""]]}
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: draw"} | Missing/invalid nonnegative draw; length/start have corresponding checks. |
{"error":"missing or invalid parameter: order"} | Malformed sort column/direction. |
{"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
- Row positions: id, name, page_type, [owner ID, owner name], public, encoded data, empty action-cell placeholder. Database scalars/counts are strings; draw is numeric.
- recordsTotal counts all visible own/public presets before name/search filters. recordsFiltered counts visible matches; it does not exceed recordsTotal.
- Only the first requested sort is used. Owner sorting uses the actual owner name. No field projection, page_type restriction, feature flag or writes.
See it in Fieldmotion
CRM1
Open Settings → Filters, type a name/search term or sort a column. pageSettingsFilters.js forwards DataTables parameters and adds name.
CRM2
No direct CRM2 caller found. Settings → Filters uses UserFilters_getDataTable with mapped named fields.
Related endpoints
UserFilters_getDataTablereturns the CRM2 object-row format with the same visibility.UserFilter_setNamerenames a row from this table.