Reporting dashboards and targets
List visible dashboard groups
/a/ReportDashboardGroups_list
List dashboard groups owned by or shared with the authenticated user.
When to use this endpoint
Load this list before selecting a dashboard group or embedding it in a layout. Load the chosen group’s widgets separately; this endpoint does not execute reports.
Authentication and permissions
Authenticate with signed API-key fields or a logged-in CRM session. All lookups and writes are tenant-local.
Group list visibility follows ownership and shares; the embedding list is restricted to effective All view shares. None disables its share array; otherwise string user IDs or All grant that share. No reporting-feature or additional CRM2 page-role check is applied.
For signed form requests, sign numeric scalar values as strings, including values inside native nested arrays. Send JSON text only for parameters explicitly accepting JSON strings; see Getting started.
These reporting handlers require tenant schema upgrade 794 before deployment. No request path creates or repairs schema.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
isNew | Integer-compatible | No | 1 selects groups whose extracted meta.isNew is non-SQL-null. Other/omitted values select groups where it is SQL NULL. |
Example request
$result = FM_api('ReportDashboardGroups_list', ['isNew'=> '1']);
Example response
[{"id":"12","name":"Sales","user_id":"7","cdate":"2026-10-02 09:00:00","sharedUser":"[\"7\"]","sharedUserEdit":"[\"7\"]"}]
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. |
Legacy application errors may be returned with HTTP 200. Check the decoded response for error, not only the HTTP status.
Behaviour and edge cases
- An owner is always visible. Otherwise either
sharedUserorsharedUserEditmust contain the current user as a JSON string orAll. ANonetoken disables its own array’s sharing branch, not ownership or the other array. - Numeric JSON user IDs do not satisfy the string membership check. The new-dashboard branch tests marker presence rather than truth: a stored zero marker can still select the new branch.
- Rows are sorted by name with no pagination. No matches return
[].cdateis a database datetime string; extracted share arrays are JSON text or null. - Deleted groups are excluded from both dashboard modes.
Side effects
- Read-only; no records or edit timestamps are changed.
See it in Fieldmotion
CRM1
Populates the classic dashboard group selector. Filter browser Network requests for ReportDashboardGroups_list.
CRM2
Populates classic and new dashboard lists; new callers pass isNew=1. Filter browser Network requests for ReportDashboardGroups_list.
Related endpoints
ReportDashboards_listloads stored widget configuration.ReportDashboardGroup_setMetaedits group metadata and sharing.