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

# Update Monitoring Schedule

> Set when the automatic competitor scan runs

Set when the automatic competitor scan runs, and whether it runs at all.

<Info>
  **`cadence` is pinned to weekly**, in both directions: a request asking for hourly is stored as weekly, and an older row is reported back as weekly. A scan bills per rep per run, and what it watches for — a competitor working one of your accounts — plays out over weeks. Hourly and daily bought spend, not signal. `day_of_week`, `hour`, `minute` and `timezone` are the knobs that move.
</Info>

The schedule and [adding a competitor](/api-reference/register-competitor) are the only two things that start a scan. There is no on-demand trigger.

## Body

<ParamField body="enabled" type="boolean">
  Whether the scheduled scan runs at all. Set `false` to pause automatic scanning without deleting competitors.
</ParamField>

<ParamField body="schedule" type="object">
  <Expandable title="properties">
    <ParamField body="cadence" type="string">
      Always stored as `weekly`.
    </ParamField>

    <ParamField body="day_of_week" type="integer">
      `0` = Sunday through `6` = Saturday.
    </ParamField>

    <ParamField body="hour" type="integer">
      `0`-`23`, in `timezone`.
    </ParamField>

    <ParamField body="minute" type="integer">
      `0`-`59`.
    </ParamField>

    <ParamField body="timezone" type="string">
      IANA timezone, e.g. `Europe/Paris`.
    </ParamField>
  </Expandable>
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X PUT https://api.clustr-ai.com/api/public/competitor-monitoring/schedule \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "enabled": true,
      "schedule": {
        "cadence": "weekly",
        "day_of_week": 1,
        "hour": 9,
        "minute": 0,
        "timezone": "Europe/Paris"
      }
    }'
  ```

  ```python Python theme={null}
  import requests

  requests.put(
      "https://api.clustr-ai.com/api/public/competitor-monitoring/schedule",
      headers={"Authorization": "Bearer YOUR_API_KEY"},
      json={
          "enabled": True,
          "schedule": {
              "cadence": "weekly",
              "day_of_week": 1,
              "hour": 9,
              "minute": 0,
              "timezone": "Europe/Paris",
          },
      },
  )
  ```

  ```javascript JavaScript theme={null}
  await fetch("https://api.clustr-ai.com/api/public/competitor-monitoring/schedule", {
    method: "PUT",
    headers: { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" },
    body: JSON.stringify({
      enabled: true,
      schedule: { cadence: "weekly", day_of_week: 1, hour: 9, minute: 0, timezone: "Europe/Paris" },
    }),
  });
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "data": {
      "feature_key": "competitor_monitoring",
      "enabled": true,
      "schedule": {
        "cadence": "weekly",
        "day_of_week": 1,
        "day_of_month": 1,
        "hour": 9,
        "minute": 0,
        "timezone": "Europe/Paris"
      }
    }
  }
  ```
</ResponseExample>
