Update report schedules

Call this endpoint to update an existing report schedule. Use it when you need to change when Walmart generates a scheduled report, such as updating the hour, the repeat interval, or the schedule start date.

Note: This endpoint updates only the schedule fields you include in the request body. Omitted fields keep their current values. Schedule timing fields such as hour are based on UTC.

Endpoint

PUT https://marketplace.walmartapis.com/v3/reports/schedules/{scheduleId}

Sample request

This sample request updates the schedule to run at a new hour. It uses the required path parameter scheduleId and the required headers.

Scheduling workflow

  1. Find the schedule you want to update and capture its scheduleId.
  2. Decide what you want to change (for example, hour, repeatsEvery, or scheduleStartDate).
  3. Call PUT /v3/reports/schedules/{scheduleId} with only the fields you want to update.
  4. Confirm the response shows the updated schedule and the new nextScheduledTime.

Note: hour is 0 to 23 in UTC, where 0 is 12:00 AM UTC.

curl -X PUT "https://marketplace.walmartapis.com/v3/reports/schedules/468849ca-81c4-4e0c-881d-1c750efe2a7d" \ -H 'WM_SEC.ACCESS_TOKEN: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....' \ -H 'WM_QOS.CORRELATION_ID: b3261d2d-028a-4ef7-8602-633c23200af6' \ -H 'WM_SVC.NAME: Walmart Marketplace' \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{"hour": 7}'
import requests schedule_id = "468849ca-81c4-4e0c-881d-1c750efe2a7d"
url = f"https://marketplace.walmartapis.com/v3/reports/schedules/{schedule_id}" payload = { "hour": 7 # 0 to 23, UTC
} headers = { "WM_SEC.ACCESS_TOKEN": "<ACCESS_TOKEN>", "WM_SVC.NAME": "Walmart Marketplace", "WM_QOS.CORRELATION_ID": "<CORRELATION_ID>", "Accept": "application/json", "Content-Type": "application/json",
} response = requests.put(url, headers=headers, json=payload)
print("Status code:", response.status_code)
print("Response JSON:", response.json())

Modify your code

  • Use a unique WM_QOS.CORRELATION_ID for each request.
  • Replace WM_SEC.ACCESS_TOKEN with your valid access token obtained through authentication.
  • Replace {scheduleId} with the schedule ID you want to update.
  • Update only the fields you want to change. Supported update fields include repeatsEvery, hour, dayOfMonth, dayOfWeek, monthOfYear, and scheduleStartDate.
  • Use UTC for schedule timing. hour is 0 to 23.

Sample response

The example below shows an updated schedule returned after a successful request.

{ "scheduleId": "468849ca-81c4-4e0c-881d-1c750efe2a7d", "requestSubmissionDate": "2025-04-29T17:34:24Z", "reportType": "INVENTORY", "reportVersion": "v1", "reportSummary": "reportSummary", "scheduleStartDate": "2025-04-30T18:30:00Z", "nextScheduledTime": "2025-05-31T07:00:00Z", "payload": { "dayOfWeek": "SATURDAY", "hour": 7, "frequency": "WEEKLY", "repeatsEvery": 4 }, "requestModifiedTime": "2025-04-29T17:34:24Z"
}

Result

If the request is successful, the API returns HTTP 200 OK with a JSON body that confirms the updated schedule. The response includes the schedule definition and the next time Walmart will generate the report (nextScheduledTime).

Keep the scheduleId for later calls to retrieve, update, or delete this schedule.