This article will cover the following:
What Are Scheduled Reports?
A scheduled report is a snapshot of your CAKE data — clicks, conversions, revenue, and more — that CAKE automatically generates and emails on a repeating basis. Instead of logging in to run the same report every week, you set it up once and let CAKE deliver it automatically.
Note:
Scheduled reports are delivered as email attachments (usually CSV or PDF). They reflect data at the moment they run — a weekly report sent Monday morning covers the previous week's activity.
Scheduled reports are delivered as email attachments (usually CSV or PDF). They reflect data at the moment they run — a weekly report sent Monday morning covers the previous week's activity.
Report Types You Can Schedule
| Report Type | What It Shows | Most Useful For |
|---|---|---|
| Affiliate Summary | Clicks, conversions, and payout by affiliate. | Account managers reviewing partner performance. |
| Advertiser Summary | Traffic and conversion totals by advertiser. | Advertisers checking campaign delivery. |
| Offer Performance | Clicks, CVR, revenue per offer. | Affiliates tracking which offers are converting. |
| Conversion Report | Individual conversion records. | Reconciling counts and spotting discrepancies. |
| Invoice / Billing Report | Payable and receivable totals. | Finance teams and automated billing cycles. |
| Creative Performance | Clicks and conversions by creative/banner. | Optimizing ad creative. |
Tip:
Run the report manually first. If the data looks right and you'd want to see it regularly, it's a good candidate for a schedule.
Run the report manually first. If the data looks right and you'd want to see it regularly, it's a good candidate for a schedule.
How to Create a Report Schedule
Step 1 — Navigate to the Report
- Log in to CAKE and go to Reports in the main navigation.
- Select the report type you want to schedule.
- Apply any filters you want — date range, specific offers, affiliates, or advertisers. These filters will be saved with the schedule.
- Click the Schedule or Create Schedule button.
Step 2 — Set the Frequency
- Daily — runs each morning and covers the previous day.
- Weekly — runs on a day you choose and covers the prior 7 days.
- Monthly — runs on the 1st of the month and covers the prior calendar month.
Step 3 — Add Recipients
- Enter one or more email addresses in the Recipients field. Separate multiple addresses with a comma.
- Recipients do not need a CAKE login — the report will arrive as an email attachment.
- Double-check addresses carefully. CAKE won't warn you if an address bounces.
Step 4 — Name and Save
- Give the schedule a clear, descriptive name — e.g., "Weekly Affiliate Summary — Brand X Offers."
- Choose the file format: CSV for data analysis, PDF for sharing with non-technical stakeholders.
- Click Save. The schedule is now active and will run at the next scheduled time.
Caution:
If you leave a filter blank, the report will include all records for that dimension — which can make the file very large. Be specific with your filters, especially for high-traffic accounts.
If you leave a filter blank, the report will include all records for that dimension — which can make the file very large. Be specific with your filters, especially for high-traffic accounts.
Editing and Pausing Schedules
- Go to Reports and look for Scheduled Reports or My Schedules in the sidebar or settings menu.
- You'll see all schedules with their frequency, last run date, and status (active or paused).
- To edit: click the schedule name or edit icon, update any field, then click Save.
- To pause: toggle the schedule to Inactive. It remains saved but won't send until reactivated.
- To delete: click the delete icon and confirm. Deletion is permanent.
Caution:
Deleting a schedule is permanent. If there's any chance you'll want to resume it, use the Inactive toggle instead of deleting.
Deleting a schedule is permanent. If there's any chance you'll want to resume it, use the Inactive toggle instead of deleting.
API: Schedules & Automation Endpoints
List Schedules
GET /api/2/schedules.json
| Parameter | Type | Required | Description |
|---|---|---|---|
| schedule_id | integer | No | Filter to a specific schedule by ID. |
| user_id | integer | No | Filter schedules belonging to a specific user. |
| schedule_status | string | No | Filter by status: active or inactive. |
| start_at_row | integer | No | Row offset. Default: 0. |
| row_limit | integer | No | Max records. Default: 25. |
Sample request
GET https://your-domain.cake.com/api/2/schedules.json
?api_key=YOUR_API_KEY
&schedule_status=active
&row_limit=25Sample response
{
"request_status": "Success",
"schedules": [{
"schedule_id": 301,
"schedule_name": "Weekly Affiliate Summary",
"frequency": "weekly",
"schedule_status": "active",
"report_type": "affiliate_summary"
}],
"total_rows": 1
}Create Schedule
POST /api/2/schedule.json
| Parameter | Type | Required | Description |
|---|---|---|---|
| user_id | integer | Yes | ID of the user who owns this schedule. |
| schedule_type_id | integer | Yes | The type of schedule task. Confirm valid IDs with your CAKE admin. |
| schedule_name | string | Yes | A descriptive label for the schedule. |
| frequency | string | Yes | Delivery cadence: daily, weekly, or monthly. |
| start_date | date | Yes | Date the schedule becomes active. Format: YYYY-MM-DD. |
| email_addresses | string | Yes | Comma-separated list of recipient email addresses. |
| report_type | string | Yes | The CAKE report this schedule will generate and deliver. |
Sample request
POST https://your-domain.cake.com/api/2/schedule.json
{
"api_key": "YOUR_API_KEY",
"user_id": 14,
"schedule_type_id": 2,
"schedule_name": "Weekly Affiliate Summary",
"frequency": "weekly",
"start_date": "2024-01-01",
"email_addresses": "reports@example.com,manager@example.com",
"report_type": "affiliate_summary"
}Sample response
{
"request_status": "Success",
"schedule": {
"schedule_id": 301,
"schedule_name": "Weekly Affiliate Summary",
"frequency": "weekly",
"schedule_status": "active"
}
}Update Schedule
POST /api/2/update_schedule.json
| Parameter | Type | Required | Description |
|---|---|---|---|
| schedule_id | integer | Yes | ID of the schedule to update. |
| schedule_name | string | No | Updated display name. |
| schedule_status | string | No | Set to active or inactive to enable or pause. |
| frequency | string | No | Updated cadence: daily, weekly, or monthly. |
| email_addresses | string | No | Updated comma-separated recipient list. |
Sample request
POST https://your-domain.cake.com/api/2/update_schedule.json
{
"api_key": "YOUR_API_KEY",
"schedule_id": 301,
"schedule_status": "inactive"
}Sample response
{
"request_status": "Success",
"schedule": {
"schedule_id": 301,
"schedule_status": "inactive"
}
}If you have any questions, please reach out to your dedicated CAKE Client Success Manager/Account Manager or contact the CAKE Support Team at support@getCAKE.com.