report.create

Description

object report.create(object/array reports)

This method allows to create new scheduled reports.

This method is only available to Admin and Super admin user types. Permissions to call the method can be revoked in user role settings. See User roles for more information.

Parameters

(object/array) Scheduled reports to create.

Additionally to the standard scheduled report properties, the method accepts the following parameters.

Parameter Type Description
users object/array Users to send the report to.

Parameter behavior:
- required if user_groups is not set
user_groups object/array User groups to send the report to.

Parameter behavior:
- required if users is not set

Return values

(object) Returns an object containing the IDs of the created scheduled reports under the reportids property. The order of the returned IDs matches the order of the passed scheduled reports.

Examples

Creating a scheduled report

Create a weekly report that will be prepared for the previous week every Monday-Friday at 12:00 from 2021-04-01 to 2021-08-31.

Request:

{
           "jsonrpc": "2.0",
           "method": "report.create",
           "params": {
               "userid": "1",
               "name": "Weekly report",
               "dashboardid": "1",
               "period": "1",
               "cycle": "1",
               "start_time": "43200",
               "weekdays": "31",
               "active_since": "2021-04-01",
               "active_till": "2021-08-31",
               "subject": "Weekly report",
               "message": "Report accompanying text",
               "status": "1",
               "description": "Report description",
               "users": [
                   {
                       "userid": "1",
                       "access_userid": "1",
                       "exclude": "0"
                   },
                   {
                       "userid": "2",
                       "access_userid": "0",
                       "exclude": "1"
                   }
               ],
               "user_groups": [
                   {
                       "usrgrpid": "7",
                       "access_userid": "0"
                   }
               ]
           },
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "reportids": [
                   "1"
               ]
           },
           "id": 1
       }

See also

Source

CReport::create() in ui/include/classes/api/services/CReport.php.