Automate Analytics Reporting with Scheduled Reports in API Connect v12.1.1
Draft!!
If you’re managing an API programme, you probably have recurring reporting cadences — weekly API usage summaries for leadership, monthly billing reports, quarterly API programme health reviews. Running these manually is tedious and error-prone. API Connect v12.1.1 introduces Scheduled Reports for analytics, allowing you to configure report generation on a recurring basis and deliver results automatically to the people who need them.
In this article, I’ll explain how Scheduled Reports work in API Connect v12.1.1, how to configure report intervals and delivery destinations, and walk through common use cases.
Table of Contents
- What Are Scheduled Reports?
- How Scheduled Reports Work
- Configuring a Scheduled Report
- Delivery Destinations
- Common Use Cases
- CLI/API Configuration
- Managing and Auditing Scheduled Reports
What Are Scheduled Reports?
Scheduled Reports are automated analytics report generation jobs that run on a configurable recurring schedule. Instead of manually navigating to the Analytics section, selecting filters, and exporting data each week, you define the report once, set a schedule, and the report is generated and delivered automatically.
Each scheduled report captures:
- The report type (API Usage, Application Activity, Plan Performance, etc.)
- The filter context (which APIs, plans, applications, time range)
- The delivery configuration (where and how to send the output)
- The schedule (when to run)
How Scheduled Reports Work
When a scheduled report fires:
- API Connect generates the report using the same analytics engine used for interactive reports
- The report is rendered in the configured format (CSV, PDF, JSON)
- The rendered report is delivered to the configured destination
- A record is written to the report history with the generation time, recipient list, and status
Reports are generated based on the time window at generation time — e.g., a “weekly” report generated on Monday morning captures data from the previous Monday 00:00 to the current Monday 00:00 (or your configured window).
Configuring a Scheduled Report
Via the API Manager UI
- Log into API Manager
- Navigate to Analytics → Scheduled Reports
- Click New Scheduled Report
- Configure the following:
Report Definition
- Name: A descriptive name (e.g., “Weekly API Usage for Finance Team”)
- Report Type: Choose from the available report types
- Filters: Apply the same filters you’d use in the interactive analytics view
- Format: CSV, PDF, or JSON
Schedule
- Frequency: Hourly, Daily, Weekly, Monthly, or Custom (cron expression)
- Time: The time of day to generate the report
- Timezone: Which timezone to use for schedule calculation
Delivery
- Destination Type: Email, Webhook, or both
- Recipients: Email addresses or webhook URLs
- Click Save & Enable
[Screenshot Placeholder: /images/scheduled-reports-config.png] The scheduled report configuration dialog showing report type, schedule, and delivery options.
Delivery Destinations
Email Delivery
Reports can be emailed directly to stakeholders. Configure:
- To addresses: Comma-separated list of email addresses
- Subject: Customisable subject line (supports variables like
${report_name},${date}) - Body: Optional custom message to accompany the report
Example:
To: finance-team@example.com, api-program-lead@example.com
Subject: Weekly API Usage Report — ${week_start} to ${week_end}
Webhook Delivery
Reports can be posted to a webhook URL as a JSON payload. The webhook receives:
{
"report_id": "rpt-abc123",
"report_name": "Weekly API Usage Report",
"generated_at": "2026-07-12T08:00:00Z",
"schedule": "weekly",
"period": {
"start": "2026-07-05T00:00:00Z",
"end": "2026-07-12T00:00:00Z"
},
"format": "csv",
"download_url": "https://apic.example.com/analytics/reports/rpt-abc123/download",
"expires_at": "2026-07-19T08:00:00Z"
}
The webhook payload includes a time-limited download URL for the report file. Your receiving system can then download and process the report.
SIEM Integration
A common pattern is webhook delivery to a SIEM (Splunk, Elastic, Microsoft Sentinel). Your SIEM receives the webhook, downloads the report from the temporary URL, and ingests the data for long-term storage and analysis.
Common Use Cases
1. Weekly Executive Summary
Every Monday morning, generate a PDF API Usage report for the previous week and email it to the API programme leadership team. Include top APIs by traffic, error rates, and new consumer onboardings.
# Example CLI creation
apic scheduled-reports:create \
--server ${MANAGEMENT_SERVER} \
--org ${PROVIDER_ORG} \
--name "Weekly Executive Summary" \
--report-type api-usage \
--frequency weekly \
--day-of-week 1 \
--time 08:00 \
--timezone Europe/London \
--format pdf \
--delivery email \
--recipients "leadership@example.com"
2. Monthly Billing Report
Generate a plan-level usage report on the 1st of every month for the billing team, delivered as CSV for import into billing systems.
apic scheduled-reports:create \
--server ${MANAGEMENT_SERVER} \
--org ${PROVIDER_ORG} \
--name "Monthly Plan Usage for Billing" \
--report-type plan-performance \
--frequency monthly \
--day-of-month 1 \
--time 06:00 \
--timezone UTC \
--format csv \
--delivery email \
--recipients "billing@example.com,apibilling@example.com"
3. Real-Time Anomaly Alerting (SIEM Integration)
Deliver hourly reports to your SIEM for continuous monitoring. Your SIEM can alert on deviations from baseline without waiting for interactive review.
# Webhook delivery to Splunk HEC
apic scheduled-reports:create \
--server ${MANAGEMENT_SERVER} \
--org ${PROVIDER_ORG} \
--name "Hourly Traffic to Splunk" \
--report-type api-health \
--frequency hourly \
--format json \
--delivery webhook \
--webhook-url "https://splunk.example.com:8088/services/collector" \
--webhook-header "Authorization: Splunk ${SPLUNK_HEC_TOKEN}"
4. Consumer Org Health Review
Send a weekly report to each consumer org admin showing their application’s API usage, helping them understand their consumption patterns.
Note: This use case requires per-application filtering. You may need to create multiple scheduled reports or use the API to generate org-specific reports dynamically.
CLI/API Configuration
For full automation, use the CLI or REST API:
# Create a weekly scheduled report via REST API
curl -X POST \
"https://${MANAGEMENT_SERVER}/api/orgs/${ORG_ID}/scheduled-reports" \
-H "authorization: Bearer ${TOKEN}" \
-H "content-type: application/json" \
-d '{
"name": "Weekly API Usage Summary",
"report_type": "api_usage",
"filters": {
"apis": ["api-id-1", "api-id-2"],
"time_range": "last_7_days"
},
"schedule": {
"frequency": "weekly",
"day_of_week": 1,
"time": "08:00",
"timezone": "Europe/London"
},
"format": "pdf",
"delivery": {
"type": "email",
"recipients": ["api-team@example.com"]
},
"enabled": true
}'
Managing and Auditing Scheduled Reports
List All Scheduled Reports
apic scheduled-reports:list \
--server ${MANAGEMENT_SERVER} \
--org ${PROVIDER_ORG}
Pause/Resume a Scheduled Report
# Pause
apic scheduled-reports:update \
--server ${MANAGEMENT_SERVER} \
--org ${PROVIDER_ORG} \
--schedule ${SCHEDULE_ID} \
--enabled false
# Resume
apic scheduled-reports:update \
--server ${MANAGEMENT_SERVER} \
--org ${PROVIDER_ORG} \
--schedule ${SCHEDULE_ID} \
--enabled true
View Report History
apic scheduled-reports:history \
--server ${MANAGEMENT_SERVER} \
--org ${PROVIDER_ORG} \
--schedule ${SCHEDULE_ID}
This shows the history of report generations for a given schedule, including timestamps, recipient delivery status, and file sizes.
Summary
Scheduled Reports in API Connect v12.1.1 eliminate the manual overhead of recurring analytics reporting. Whether you’re delivering weekly executive summaries, monthly billing data, or real-time anomaly feeds to a SIEM, the scheduling and delivery infrastructure is now built into the platform.
Invest the time to set up your recurring reports properly — it’s a one-time investment that pays dividends every week, month, and quarter thereafter.
Questions about analytics automation or API reporting? Find me on Twitter @cminion.
