Focus
Focus
Table of Contents

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 thevsys parameters.
  1. Retrieve the report definition from the configuration:
    curl -X POST 'https://firewall/api?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 usingreporttype=dynamic,reportname=custom-dynamic-report, andcmd=report-definition wherereport-definition is the XML definition retrieved in the previous query:
    curl -X POST 'https://firewall/api?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 POST 'https://firewall/api?type=report&action=get&job-id=jobid"