# reports_createReportSchedule (https://sellersheetai.com/docs/mcp-api/tools/reports_createReportSchedule)

> Set up a recurring Amazon report.

Access: **WRITE** · toolset amazon_sp · family sp.reports_2021-06-30

Replaces re-calling reports_createReport on a cron — Amazon generates one report per period automatically. An Amazon schedule only produces documents you download yourself; for a report type SellerSheet already syncs, query_report_data reads the warehouse instead. Amazon SP-API · createReportSchedule · POST /reports/2021-06-30/schedules Gate: approve — interactive: show the change (Amazon's preview first where one exists), wait for an explicit approve; autopilot: only when the seller's own words asked for this change; otherwise ask.

## Call it

MCP tool call:

```json
{
  "name": "reports_createReportSchedule",
  "arguments": {
    "store": "myStore-US",
    "reportType": "<reportType>",
    "period": "PT5M"
  }
}
```

Tool API (early access — contact us):

```bash
curl -X POST https://api.sellersheetai.com/api/v1/tools/reports_createReportSchedule \
  -H "Authorization: Bearer $SELLERSHEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"store":"myStore-US","reportType":"<reportType>","period":"PT5M"}'
```

## Arguments

| Name | Type | Required | Description |
|---|---|---|---|
| `store` | string | yes | the store ref `<store>-<CC>` (name-country, e.g. 'myStore-US') — one of get_user_context's store_refs, verbatim. |
| `reportType` | string | yes | SP-API reportType constant (e.g. 'GET_FBA_INVENTORY_AGED_DATA') OR human-readable name. Same value space as reports_createReport. A schedule with the same reportType and marketplaceIds REPLACES (cancels) the existing one. |
| `period` | string | yes | how often Amazon generates the report, an ISO 8601 duration. Sub-daily (PT5M…PT12H) is only valid for near-real-time report types; P1D = daily, P7D = weekly, P30D/P1M = monthly. Amazon enforces which subset a given reportType accepts. Allowed: PT5M \| PT15M \| PT30M \| PT1H \| PT2H \| PT4H \| PT8H \| PT12H \| P1D \| P2D \| P3D \| PT84H \| P7D \| P14D \| P15D \| P18D \| P30D \| P1M. Allowed: PT5M \| PT15M \| PT30M \| PT1H \| PT2H \| PT4H \| PT8H \| PT12H \| P1D \| P2D \| P3D \| PT84H \| P7D \| P14D \| P15D \| P18D \| P30D \| P1M. |
| `marketplaceIds` | string[] |  | OPTIONAL list[str] of Amazon marketplaceId strings, 1–25 entries (e.g. ['A39IBJ37TRP1C6']). Omit to let the server derive the single marketplace from the store's country — supply a list only to schedule against extra marketplaces. |
| `nextReportCreationTime` | string · date-time |  | optional ISO 8601 datetime (e.g. '2024-01-01T00:00:00Z') — the first scheduled run. Omit to let Amazon pick the next period boundary. |
| `reportOptions` | object |  | optional dict of report-specific options (same per-type options as reports_createReport; free-form per reportType). |

## Result

- `data.reportScheduleId` — Amazon schedule ID — track this in your sheet.
- `data.reportType` — normalized SP-API constant.
- `data.period` — the scheduled period.
- `data.marketplaceIds` — the marketplace list actually used (derived from store when you omitted it).

## Gotchas

- A schedule with the same reportType and marketplaceIds replaces the existing one (Amazon cancels the old schedule).

## Workflow

- 1. Create the schedule (e.g. period P1D for a daily report). 2. reports_getReports with the same reportType lists the reports it produces. 3. reports_getReport downloads each.