Get all report schedules

Call this endpoint to retrieve all report schedules for a specific reportType. Use it to audit what schedules exist, confirm schedule settings, and find the scheduleId values you need to view, update, or delete schedules.

Note: reportType is required in the query string. Use nextCursor from the response to paginate when more schedules are available.

For more information, refer to the Reports Scheduler API reference.

Endpoint

GET https://marketplace.walmartapis.com/v3/reports/schedules?reportType=ITEM

Sample request

This sample request retrieves all schedules for the ITEM report type. If more than the default number of records exist, the response includes nextCursor.

Scheduling workflow

  1. Choose the reportType you want to manage (for example, ITEM, INVENTORY, or BUYBOX).
  2. Call GET /v3/reports/schedules?reportType=<REPORT_TYPE>.
  3. If the response includes nextCursor, call the endpoint again using only the cursor value as the query string.
  4. Keep each returned scheduleId for later calls to retrieve, update, or delete a schedule.

Note: Schedule timing fields such as payload.hour are based on UTC.

curl -X GET "https://marketplace.walmartapis.com/v3/reports/schedules?reportType=ITEM" \ -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'
import requests url = "https://marketplace.walmartapis.com/v3/reports/schedules"
params = {"reportType": "ITEM"} headers = { "WM_SEC.ACCESS_TOKEN": "<ACCESS_TOKEN>", "WM_SVC.NAME": "Walmart Marketplace", "WM_QOS.CORRELATION_ID": "<CORRELATION_ID>", "Accept": "application/json",
} response = requests.get(url, headers=headers, params=params)
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.
  • Update reportType to the report you want to list schedules for.
  • If the response includes nextCursor, call the endpoint again with ?{nextCursor}. Do not repeat the original query parameters.

Sample response

The example below shows one schedule returned for reportType=ITEM. If more schedules exist than the current limit, the response includes nextCursor.

{ "page": 1, "totalCount": 1, "limit": 1, "schedules": [ { "scheduleId": "b269dc31-df8b-4421-b59d-6cc00aa50160", "requestSubmissionDate": "2025-05-02T08:16:15Z", "reportType": "ITEM", "reportVersion": "v4", "reportSummary": "reportSummary", "scheduleStartDate": "2025-05-02T08:00:00Z", "nextScheduledTime": "2026-05-02T04:00:00Z", "payload": { "dayOfMonth": 2, "monthOfYear": 5, "hour": 9, "frequency": "YEARLY", "repeatsEvery": 2, "filters": { "rowFilters": [ { "type": "enumFilter", "values": ["PUBLISHED"], "columnName": "Publish Status" } ] } }, "requestModifiedTime": "2025-05-02T08:16:15Z" } ]
}

Result

If the request is successful, the API returns HTTP 200 OK with a JSON body that includes:

  • Pagination fields (page, limit, totalCount)
  • An array of schedules (schedules[]), including each scheduleId
  • The schedule definition (payload) and the next scheduled run time (nextScheduledTime)
  • nextCursor when more results are available

Keep each scheduleId for later calls to retrieve a single schedule or to update or delete the schedule.