Reporting dashboards and targets
List dashboard widgets
/a/ReportDashboards_list
Load stored widgets for one group, several groups, or the entire tenant.
When to use this endpoint
Use this to load saved widget configuration before rendering or editing it. The plural list is the production dashboard path; the mapped detail endpoint provides alternate field names and selection controls.
Authentication and permissions
Authenticate with signed API-key fields or a logged-in CRM session. All lookups and writes are tenant-local.
Only owned or effectively view/edit-shared groups and their active widgets can be read. A group can be copied when it is readable. 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 |
|---|---|---|---|
groupID | Integer or native array | No | Positive group ID or native array of positive IDs. Every supplied group must be active/readable. Empty arrays return []; JSON text is not decoded as an array. Omission selects all visible active widgets. |
fields | Native array or JSON array string | No | Always returns id,name. Additional allowed columns are api,grid,filter,notes,group_id; unknown names are ignored. |
Example request
$result = FM_api('ReportDashboards_list', ['groupID'=> '12','fields'=>['api','grid','filter','notes','group_id']]);
Example response
[{"id":"71","name":"Sales","api":"Report_getQuotesTargetAttainment","grid":"{\"x\": 0, \"y\": 0, \"w\": 6, \"h\": 4}","filter":"{\"daysFrom\": -30, \"daysTo\": 0, \"durationType\": 0}","notes":"","group_id":"12"}]
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":"no permission to access api"} | The group is not readable/editable, or the operation requires ownership and the caller is not its owner. |
Legacy application errors may be returned with HTTP 200. Check the decoded response for error, not only the HTTP status.
Behaviour and edge cases
- Only active widgets in active owned or view/edit-shared groups are returned. Explicit unreadable group IDs return a permission error rather than exposing their widgets.
- Returns raw database fields: grid/filter remain JSON strings. No explicit ordering, pagination, total, or ok envelope; no matches return [].
- Group IDs are strictly validated; malformed numeric input is rejected before constructing SQL.
Side effects
- Read-only; no records or edit timestamps are changed.
See it in Fieldmotion
CRM1
Loads widgets when selecting a report dashboard group. Filter browser Network requests for ReportDashboards_list.
CRM2
Classic/new dashboards and report-group embedding in display layouts load widgets here. Filter browser Network requests for ReportDashboards_list.
Related endpoints
ReportDashboardGroups_listfinds groups visible to the current user.ReportDashboardGroup_setMetaedits group metadata and sharing.