Add Report Schedule#
Create a scheduled report generation task.
✅ All code examples tested: Verified against FortiAnalyzer v7.4.8, v7.6.4, v8.0.0.
Overview#
This endpoint creates report schedules - useful for automating regular report generation and distribution.
Endpoint Details#
Method: POST
URL: /jsonrpc
API Path: /config/adom/{adom}/sql-report/schedule/{layout_id}
ADOM Support: Yes
Requires Authentication: Yes
Minimum Version: 7.4.0
Request Example#
{
"method": "update",
"params": [{
"url": "/config/adom/root/sql-report/schedule/123456",
"data": {
"schedule-name": "Daily_Traffic_Report",
"schedule-type": "daily",
"time": "08:00",
"output-format": "pdf",
"email-recipients": ["admin@example.com"]
}
}],
"session": "{{session_id}}",
"id": 1
}
Complete Python Example#
import requests
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
def add_report_schedule(session_id, layout_id, schedule_name, schedule_type="daily",
time="08:00", email=None, adom="root"):
"""Create report schedule"""
url = "https://faz.example.com/jsonrpc"
data = {
"schedule-name": schedule_name,
"schedule-type": schedule_type,
"time": time,
"output-format": "pdf"
}
if email:
data["email-recipients"] = [email] if isinstance(email, str) else email
payload = {
"method": "update",
"params": [{
"url": f"/config/adom/{adom}/sql-report/schedule/{layout_id}",
"data": data
}],
"session": session_id,
"id": 1
}
response = requests.post(url, json=payload, verify=False)
result = response.json()
if result['result'][0]['status']['code'] == 0:
print(f"✓ Report schedule '{schedule_name}' created")
return True
else:
raise Exception(f"API error: {result['result'][0]['status']['message']}")
# Example
add_report_schedule(
session_id="your_session_id",
layout_id=123456,
schedule_name="Daily_Traffic_Report",
schedule_type="daily",
time="08:00",
email="admin@example.com"
)
Last Updated: 2025-11-10 API Version: 7.6.4+