---
title: "Run a source every day or every week at a set Beijing time"
method: POST
path: "/v1/schedules"
---

# Run a source every day or every week at a set Beijing time

`POST /v1/schedules`

## Request

- Base URL: `https://prolevelmax.com`
- URL: `https://prolevelmax.com/v1/schedules`
- Auth: HTTP bearer

Each run is billed like POST /v1/run and never costs more than runCap. Send dryRun: true first to get a preview (cost per run, most per month, first run) without saving; show it to the user and create the schedule only after they agree.

## Request body

- ScheduleRequest
  - `scraper` string, required: Source id from discover
  - `input` object, required: Input fields for this source (see inspect)
  - `maxItems` integer, nullable: Per-result sources: most results per run (default 100)
  - `frequency` 'daily' | 'weekly', required
  - `weekday` union: Weekly only: 1 (Monday) to 7 (Sunday), or mon … sun
    - integer
    - 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun'
  - `time` string, required: HH:MM, 24-hour, Beijing time (UTC+8)
  - `runCap` number, nullable: Most one run may cost, USD. Default: the source's quote for this input
  - `monthlyCap` number, nullable: Optional: most this schedule may spend per calendar month (Beijing time), USD
  - `notifyEmail` boolean: Email the account owner when each run finishes (results count, cost, link to the run)
  - `enabled` boolean
  - `dryRun` boolean: POST only: return a preview and save nothing

## Response `200`

Preview (dryRun: true); nothing saved

- object
  - `preview` SchedulePreview
    - `scraper` string
    - `title` string
    - `scheduleText` string
    - `runCap` number
    - `runCapDisplay` string
    - `defaultRunCap` number
    - `minRunCap` number
    - `monthlyCap` number, nullable
    - `mostPerMonthDisplay` string
    - `nextRunAt` integer: Epoch ms
    - `nextRunBeijing` string: YYYY-MM-DD HH:MM, Beijing time
    - `summary` string: One sentence to show the user before they confirm

## Other responses

- `201`: Created
- `400`: Error
- `401`: Error
- `404`: Error
- `409`: Error
- `422`: Error

---

[API](https://skmtc.dev/prolevelmax/apis/prolevelmax-api.md) · [All operations](https://skmtc.dev/prolevelmax/apis/prolevelmax-api/llms.txt) · [OpenAPI document](https://skmtc.dev/prolevelmax/apis/prolevelmax-api/revisions/79eea95313e9?raw)
