> ## Documentation Index
> Fetch the complete documentation index at: https://anything.notte.cc/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Schedules

> Run an API on cron, with its arguments pinned.

Set a schedule on the **Schedule** tab of the API's page: a cron expression plus the exact variables the scheduled run should send.

A scheduled run has nobody to fill in a form, so its arguments are frozen with the schedule. Changing the API's defaults later does not change what an existing schedule sends.

## Cron format

Six fields, EventBridge style:

```
minutes  hours  day-of-month  month  day-of-week  year
```

Five fields are rejected, so `0 9 * * *` is invalid here. Exactly one of day-of-month and day-of-week must be `?`.

| Preset | Expression |
| - | - |
| Every 15 minutes | `*/15 * ? * * *` |
| Hourly | `0 * ? * * *` |
| Daily at 09:00 UTC | `0 9 ? * * *` |
| Weekdays at 09:00 UTC | `0 9 ? * MON-FRI *` |
| First of the month | `0 9 1 * ? *` |

> [!WARNING]
>
> Schedules fire in **UTC**. A job you think of as "9am" set from GMT+2 runs at 11am local. The tab prints the next ten fire times in both zones; check that table, not the expression.

## Digests and monitors

The useful version of a scheduled scraper reports only what changed. Store what you have already seen, compare on the next run, and stay quiet otherwise. See [State and secrets](https://anything.notte.cc/docs/state-and-secrets.md).

Failed scheduled runs appear in the **Runs** tab and on **Activity**. Turn on [self-healing](https://anything.notte.cc/docs/build.md#self-healing) for anything you leave running unattended.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.