Reports Scheduler

Using the Reports Scheduler, you can configure Walmart to generate reports automatically. Specify how often each report should run and optionally add filters. After a schedule runs, use the Reports API to retrieve the download URL for that run.

How do I schedule a report?

  1. Choose the report type you want to schedule.
  2. Set the frequency (for example, once per day or every hour).
  3. (Optional) Set a future start date for the schedule.
  4. Create the schedule with POST /v3/reports/schedules. Provide reportType in the query string and scheduling fields in the request body.
  5. Download the report after each run. See Download a scheduled report.

Note: The frequency and time fields (for example, hour) indicate when Walmart starts generating the report. The file becomes available shortly after generation completes.

How do schedules work?

Each schedule requires:

  • frequency: How often the report runs.
  • repeatsEvery: An integer that defines the interval (for example, every 2 hours).

Additional parameters depend on the selected frequency.

Frequency options

FrequencyRequired additional parameters
HOURLYNone
DAILYhour
WEEKLYhour, dayOfWeek
MONTHLYhour, dayOfMonth
YEARLYhour, dayOfMonth, monthOfYear

Parameter reference

ParameterTypeAllowed values / notes
hourInteger023 (UTC). 0 = 12:00 AM; 23 = 11:00 PM.
dayOfWeekInteger06, where 0 = Monday and 6 = Sunday.
dayOfMonthInteger131. If the value exceeds the number of days in the month, the report runs on the last day.
monthOfYearInteger112, where 1 = January and 12 = December.

Examples

Example parametersResult
frequency=HOURLY, repeatsEvery=2Runs every other hour.
frequency=DAILY, repeatsEvery=1, hour=9Runs daily at 09:00 UTC.
frequency=WEEKLY, repeatsEvery=1, hour=18, dayOfWeek=2Runs every Wednesday at 18:00 UTC.
frequency=MONTHLY, repeatsEvery=3, hour=11, dayOfMonth=1Runs on the first day of every third month at 11:00 UTC.
frequency=YEARLY, repeatsEvery=1, hour=20, dayOfMonth=1, monthOfYear=1Runs every January 1 at 20:00 UTC.

How many schedules can I create?

Each report type supports one active frequency. Within that frequency, you can create up to the following number of schedules:

FrequencyMaximum schedules
HOURLY1
DAILY3
WEEKLY5
MONTHLY5
YEARLY1

Can I use filters with scheduled reports?

Yes. Scheduled reports support the following filters:

  • rowFilter
  • excludeColumns
  • dataStartTime
  • dataEndTime

Use these filters to limit the scope and content of each generated report.

Download a scheduled report

Use the Reports API to retrieve and download files generated by your schedules:

  • Get report requests. Call GET All Report Requests and identify the requestId for each scheduled run. Use the src query parameter to return only requests created by your schedules.
  • Get download URLs. For each requestId, call GET Download Report URL to retrieve the download link for that run.
  • Get notified. Subscribe to the REPORT_STATUS webhook in the Notifications API to be notified when scheduled reports are ready to download.