---
updatedAt: 2026-07-09T21:27:20.000Z
---

# 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](/us-marketplace/reference/post_v3-reports-schedules).

## Endpoint

```text
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
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'
```
```python
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`.

```json
{
  "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 future calls to retrieve a single schedule or to update or delete the schedule.