---
title: Schedule Site Reports
description: Schedule, customize, and deliver PDF Site Reports for WP Engine environments via the Hosting API — with templates, section selection, and branding.
url: https://developers.wpengine.com/docs/managed-hosting-platform/api/guides/scheduling-site-reports/
image: https://developers.wpengine.com/og/docs/managed-hosting-platform/api/guides/scheduling-site-reports.png
---

# Schedule Site Reports

Use the WP Engine Hosting API to schedule recurring Site Reports for a production environment. You can choose which report sections to include, apply an existing custom branding template, configure recipients, and verify that the generated PDF was delivered successfully.

If you’re looking to do this in the WP Engine User Portal, see the [Site Report support documentation](https://wpengine.com/support/site-reports/#toc-schedule-reports).

## Before you begin

Before you create a Site Report schedule, make sure the environment meets the following requirements:

- The environment must be a production environment.
- A custom domain must have been connected to the environment for at least two days. This allows enough time for the data required to populate the Site Report to become available.
- Each environment can have a maximum of three active Site Report schedules.
- Site Reports can be scheduled to run weekly, every two weeks, or monthly.

> **Caution**
>
> A Site Report schedule can be created even if the environment does not yet have a custom domain or sufficient data. However, the report will fail to generate and deliver until those requirements are met. Future scheduled reports will generate normally once the required domain and data are available.

## Key Terms

- **Reports** - Refers to the actual PDF file generated when a Site Report is run at a scheduled time.
- **Schedules** - These are the active scheduled report runs for a given environment. Each schedule includes all of the information needed to create and email a report. Each environment can have a maximum of three schedules.
- **Templates** - They contain branding and report content information. These are reusable and can be used to create new schedules with the same branding and content as used in previous schedules.
- **Recipients** - The email addresses of the people a scheduled Site Report is sent to.

## Steps

### 1. Use custom branding (optional)

If you have a Premium or Agency plan, you can apply custom branding to a Site Report, including your logo, brand color, and company name. You can also remove references to WP Engine from report content and deliver reports to any email address.

On other plans, reports use WP Engine branding and can only be delivered to email addresses associated with users on your account. Skip to [step 2](https://developers.wpengine.com/docs/managed-hosting-platform/api/guides/scheduling-site-reports/#2-choose-the-report-sections-to-include) to create a schedule with the default branding.

#### A. Create a Site Report template

Create a Site Report template in the WP Engine User Portal.

1. Log in to the WP Engine User Portal and create a one-time Site Report.
2. Add your preferred branding and company name.
3. Select `Save as template` on the Report settings page.

For more information, see the [Site Report support documentation](https://wpengine.com/support/site-reports/#toc-branding).

After you create a template, you can reuse it for multiple Site Report schedules within the same account.

> **Tip**
>
> You can override the contents value in a template by specifying different pages to include in the Site Report. For example, a template might specify just the “overview” section to be included in the Site Report. However, you can choose to include any combination of pages when creating the schedule and this will override the template default.

#### B. Get the template ID

Retrieve its template ID using the [List report templates](https://developers.wpengine.com/docs/managed-hosting-platform/api/reference/operations/listsitereporttemplates/) endpoint.

- [cURL](https://developers.wpengine.com/docs/managed-hosting-platform/api/guides/scheduling-site-reports/#tab-panel-0-0)
- [JavaScript](https://developers.wpengine.com/docs/managed-hosting-platform/api/guides/scheduling-site-reports/#tab-panel-0-1)

List report templates

```bash
# Replace 12345 with your account ID
curl -X GET \
--url "https://api.wpengineapi.com/v1/site_reports/templates?account_id=12345" \
-u "$WPE_API_USER_ID:$WPE_API_PASSWORD"
```

The response includes the templates available to your account, for example:

```json
{
  "templates": [
    {
      "template_uuid": "12345678-90ab-cdef-1234-567890abcdab",
      "template_name": "Quick Data Template"
    }
  ]
}
```

Save the `template_uuid` value for the template you want to use. You will add this value when you create the Site Report schedule.

For the complete response schema and available fields, see the [List report templates](https://developers.wpengine.com/docs/managed-hosting-platform/api/reference/operations/listsitereporttemplates/) API reference.

### 2. Choose the report sections to include

Use the [List report sections](https://developers.wpengine.com/docs/managed-hosting-platform/api/reference/operations/getsitereportssections/) endpoint to retrieve the sections that can be included in a Site Report.

- [cURL](https://developers.wpengine.com/docs/managed-hosting-platform/api/guides/scheduling-site-reports/#tab-panel-1-0)
- [JavaScript](https://developers.wpengine.com/docs/managed-hosting-platform/api/guides/scheduling-site-reports/#tab-panel-1-1)

List report sections

```bash
curl -X GET \
  --url "https://api.wpengineapi.com/v1/site_reports/sections" \
  -u "$WPE_API_USER_ID:$WPE_API_PASSWORD"
```

The response includes the available report sections, for example:

```json
{
  "sections": [
    {
      "name": "cover"
    },
    {
      "name": "overview"
    },
    {
      "name": "plugins"
    }
  ]
}
```

Save the `name` value for each section you want to include in the report. You will add these values to the `sections` array when you create the schedule.

> **Tip**
>
> The sections you specify when creating the schedule override any default sections configured in the selected template.

For the complete list of section properties, see the [List report sections](https://developers.wpengine.com/docs/managed-hosting-platform/api/reference/operations/getsitereportssections/) API reference.

### 3. Create the report schedule

Use the [Create a report schedule](https://developers.wpengine.com/docs/managed-hosting-platform/api/reference/operations/createsitereportschedule/) endpoint to create the recurring Site Report schedule.

Configure the request with:

- The ID of the site you want to report on.
- A title for the schedule.
- The date when the first report should run.
- The report frequency.
- The report recipients.
- The report section `name` values you selected in the [previous step](https://developers.wpengine.com/docs/managed-hosting-platform/api/guides/scheduling-site-reports/#2-choose-the-report-sections-to-include).
- The `template_uuid` of the template you want to apply, if applicable from [step 1b](https://developers.wpengine.com/docs/managed-hosting-platform/api/guides/scheduling-site-reports/#b-get-the-template-id). Leave `template_uuid` empty if you want to use the default WP Engine branding.

> **Note**
>
> Site Report schedules are processed once per day at 3:00 AM GMT.
>
> This timing affects when changes take effect. Changes made before the 3:00 AM GMT run are included in that day’s processing. Changes made after the 3:00 AM GMT run are applied at the next cadence.

- [cURL](https://developers.wpengine.com/docs/managed-hosting-platform/api/guides/scheduling-site-reports/#tab-panel-2-0)
- [JavaScript](https://developers.wpengine.com/docs/managed-hosting-platform/api/guides/scheduling-site-reports/#tab-panel-2-1)

Create a report schedule

```bash
# Replace 12345 with your site ID
curl -X POST "https://api.wpengineapi.com/v1/site_reports/schedules" \
-u "$WPE_API_USER_ID:$WPE_API_PASSWORD" \
-H "Content-Type: application/json" \
-d '{
"site_id": "12345",
"title": "Sample schedule",
"next_scheduled_date": "2026-07-30T00:00:00.000Z",
"frequency": {
  "unit": "DAYS",
  "value": 7
},
"recipients": [
  {
    "name": "John Doe",
    "email": "example@example.com"
  }
],
"sections": [
  {
    "name": "cover"
  },
  {
    "name": "overview"
  },
  {
    "name": "themes"
  }
],
"template_uuid": ""
}'
```

A successful request returns:

```json
{
  "message": "OK!"
}
```

### 4. Verify the schedule and generated report

After you create the schedule, verify that it was created successfully and that the report generates as expected.

1. Call the [List report schedules](https://developers.wpengine.com/docs/managed-hosting-platform/api/reference/operations/getsitereportsschedules/) endpoint
2. Confirm that your new schedule appears in the response and that the schedule configuration, recipients, frequency, and report sections match your intended settings.
3. Congrats, you have scheduled a report! If you would like to visually check the report PDF, schedule a reminder for after 3am GMT on the configured `next_scheduled_date`, then continue to step 4.
4. Call the [List site reports](https://developers.wpengine.com/docs/managed-hosting-platform/api/reference/operations/getsitereports/) endpoint to confirm that the scheduled report was generated successfully.
5. Use the report’s `download_url` to open the generated PDF.
6. Verify that the PDF contains the expected sections and branding.
7. Confirm that the report was delivered to the configured recipient email addresses.

Your Site Report schedule will continue generating reports according to the configured frequency.

## Was this helpful?

Thanks for the feedback!

```json
{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://developers.wpengine.com/#website","name":"WP Engine Product Documentation","url":"https://developers.wpengine.com/","description":"Resources for developing, deploying, and scaling on WP Engine.","inLanguage":"en-US","keywords":["API documentation","product documentation","headless WordPress","managed WordPress hosting"],"publisher":{"@id":"https://wpengine.com/#organization"}}]}
```
