Web API for Dashboards: Difference between revisions

From QPR ProcessAnalyzer Wiki
Jump to navigation Jump to search
 
(6 intermediate revisions by the same user not shown)
Line 10: Line 10:
GET api/dashboards?identifierPath={identifierPath}&includeProjectPath={includeProjectPath}&projectId={projectId}
GET api/dashboards?identifierPath={identifierPath}&includeProjectPath={includeProjectPath}&projectId={projectId}
</pre>
</pre>
Gets a list of dashboard objects accessible to the current user whose UiElements match the specified ''identifierPath''.
Gets a list of dashboard objects accessible to the current user matching the specified ''identifierPath''.


The ''includeProjectPath'' query parameter is optional and defaults to ''true''. When it is ''true'', the returned View UiElement includes the ''ProjectPath'' property, containing the part of the absolute identifier path without the UiElement identifier. If the current user does not have access to all projects in the path, ''ProjectPath'' is ''null''.
The ''includeProjectPath'' query parameter is optional and defaults to ''true''. When it is ''true'', returns also the project path where the dashboard is located.


The ''projectId'' query parameter is optional. If it is specified and ''identifierPath'' is a relative path, only dashboards belonging to that project are returned.
The ''projectId'' query parameter is optional. If it is specified and ''identifierPath'' is a relative path, only dashboards belonging to that project are returned.
Line 22: Line 22:
Gets a dashboard object by ID. The ''dashboardId'' is the database IDof the dashboard.
Gets a dashboard object by ID. The ''dashboardId'' is the database IDof the dashboard.


The returned Dashboard object's ''Views'' property contains only the UiElement identified by ''dashboardId''. That UiElement includes a ''Permissions'' property containing the current user's permissions for the project the UiElement belongs to. If the UiElement's ''ProjectId'' is 0 or null, the ''Permissions'' property contains the user's global permissions.
The returned Dashboard object's ''Views'' property contains only dashboards identified by ''dashboardId''.


=== Get dashboards in project ===
=== Get dashboards in project ===
Line 28: Line 28:
POST api/dashboards/?projectId={projectId}
POST api/dashboards/?projectId={projectId}
</pre>
</pre>
Creates a new dashboard in the database. The request body is a Dashboard object. The ''projectId'' query parameter specifies the project into which the dashboard is created. If ''projectId'' is omitted, the dashboard is created at the root level.
Creates a new dashboard in the database. The request body is a Dashboard object. The ''projectId'' query parameter specifies the project into which the dashboard is created.


Returns a dashboard creation result object, not the created Dashboard object. The result contains the saved dashboard View UiElement's ''Id'', ''Name'', and ''IdMappings'' from input object ids to database ids.
Returns a dashboard creation result object, not the created Dashboard object. The result contains the saved dashboard's ''Id'' and''Name''.


=== Modify dashboard ===
=== Modify dashboard ===
Line 38: Line 38:
Modifies an existing dashboard in the database. The request body is a Dashboard object. The method does not return content.
Modifies an existing dashboard in the database. The request body is a Dashboard object. The method does not return content.


When a dashboard is saved, the relevant UiElement is the first View UiElement in the Dashboard object's ''Views'' property. For an existing element, the saved properties include ''Name'', ''Description'', ''Identifier'', and custom or optional parameters, and the element's update metadata is refreshed.
When a dashboard is saved, the relevant dashboard is the first item in the dashboard object's ''Views'' property. For an existing element, the saved properties include ''Name'', ''Description'', and ''Identifier''.

Latest revision as of 21:03, 8 June 2026

Dashboards API provides functions for accessing dashboard objects: finding dashboards by identifier path, getting a dashboard by id, creating dashboards, and modifying existing dashboards.

Note that the Workspace Elements API also operates on dashboards as UiElements of type View. Dashboard deletion is handled through the Workspace Elements API.

Methods

The dashboards API has the following methods.

Get dashboard by identifier

GET api/dashboards?identifierPath={identifierPath}&includeProjectPath={includeProjectPath}&projectId={projectId}

Gets a list of dashboard objects accessible to the current user matching the specified identifierPath.

The includeProjectPath query parameter is optional and defaults to true. When it is true, returns also the project path where the dashboard is located.

The projectId query parameter is optional. If it is specified and identifierPath is a relative path, only dashboards belonging to that project are returned.

Get dashboard by ID

GET api/dashboards/{dashboardId}

Gets a dashboard object by ID. The dashboardId is the database IDof the dashboard.

The returned Dashboard object's Views property contains only dashboards identified by dashboardId.

Get dashboards in project

POST api/dashboards/?projectId={projectId}

Creates a new dashboard in the database. The request body is a Dashboard object. The projectId query parameter specifies the project into which the dashboard is created.

Returns a dashboard creation result object, not the created Dashboard object. The result contains the saved dashboard's Id andName.

Modify dashboard

PUT api/dashboards/{dashboardId}

Modifies an existing dashboard in the database. The request body is a Dashboard object. The method does not return content.

When a dashboard is saved, the relevant dashboard is the first item in the dashboard object's Views property. For an existing element, the saved properties include Name, Description, and Identifier.