Focus
Focus
Table of Contents
End-of-Life (EoL)

Custom Reports

For custom reports, the selection criteria, such as time frame, group-by, and sort-by are part of the report definition. The API returns any shared custom reports. Note that quotes are not required around the report name and any spaces in the report name must be URL encoded to %20.
For custom reports created in a specific VSYS, you can retrieve them directly by specifying the vsys parameters.
  1. Retrieve the report definition from the configuration:
    curl -X GET "https://<firewall>/api/?key=apikey&type=config&action=get&xpath=/config/devices/entry/vsys/entry[@name='vsys1']/reports/entry[@name='report-abc']"
  2. Create a job to retrieve a dynamic report using reporttype=dynamic, reportname=custom-dynamic-report, and cmd=report-definition where report-definition is the XML definition retrieved in the previous query:
    curl -X GET "https://<firewall>/api/?key=apikey&type=report&reporttype=dynamic&reportname=custom-dynamic-report&cmd=<type><appstat><aggregate-by><member>category-of-name</member><member>technology-of-name</member></aggregate-by></appstat></type><period>last-24-hrs</period><topn>10</topn><topm>10</topm><query>(name+neq+'')AND(vsys+eq+'vsys1')</query>"
    The response includes the job ID you can use to view the results:
    <response status="success"> <result> <msg> <line>Report job enqueued with jobid 6</line> </msg> <job>6</job> </result> </response>
  3. View the dynamic report:
    curl -X GET "https://<firewall>/api/?key=apikey&type=report&action=get&job-id=jobid"