<!-- ZenPays documentation · https://docs.zenpayz.com/docs/reference/objects/report-schedule -->

# The ReportSchedule object

Configuration for a scheduled recurring report. Scheduled reports are automatically generated and delivered to specified recipients on a recurring basis.

## Fields

<ParamTable
  label="Field"
  rows={[
    { name: "id", type: "string", required: true, desc: "Unique identifier for the schedule" },
    { name: "merchantId", type: "string", required: true, desc: "ID of the merchant who owns the schedule" },
    { name: "type", type: "ReportType", required: true, desc: "Type of report to generate [ReportType](/docs/reference/enums/report-types)" },
    { name: "format", type: "ReportFormat", required: true, desc: "Output format for the report [ReportFormat](/docs/reference/enums/report-types)" },
    { name: "frequency", type: "'daily' | 'weekly' | 'monthly'", required: true, desc: "How often to generate the report" },
    { name: "dayOfWeek", type: "number", required: false, desc: "Day of week for weekly reports (0=Sunday, 6=Saturday)" },
    { name: "dayOfMonth", type: "number", required: false, desc: "Day of month for monthly reports (1-31)" },
    { name: "time", type: "string", required: true, desc: "Time to generate the report (HH:MM in merchant's timezone)" },
    { name: "recipients", type: "string[]", required: true, desc: "Email addresses to receive the report" },
    { name: "isActive", type: "boolean", required: true, desc: "Whether the schedule is currently active" },
    { name: "lastRunAt", type: "string", required: false, desc: "ISO 8601 timestamp of the last report generation" },
    { name: "nextRunAt", type: "string", required: false, desc: "ISO 8601 timestamp of the next scheduled generation" },
    { name: "createdAt", type: "string", required: true, desc: "ISO 8601 timestamp when the schedule was created" },
  ]}
/>

## Example

```json
{
  "id": "obj_1a2b3c",
  "merchantId": "merchant_1a2b3c",
  "type": "transactions",
  "format": "csv",
  "frequency": "daily",
  "dayOfWeek": 1,
  "dayOfMonth": 1,
  "time": "string",
  "recipients": [],
  "isActive": false,
  "createdAt": "2026-01-15T09:30:00Z"
}
```
