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

# Schedule website rescans

> Set weekly or monthly rescans of one website, or off.

`schedule_internal_link_scans`

Set weekly or monthly rescans of one website, or off. Each scheduled scan runs like start\_internal\_link\_scan under your current access; its changes view compares it with the previous scan.

> [!NOTE]
>
> This command name is absent from deployment evidence dated 2026-10-17. Hosted availability for this current definition is unverified; inspect your connected catalog before invoking it. Verify the command and its input schema in the selected environment.

| Access | Behavior |
| - | - |
| `watches:write`, `watches:read` | Writes or admits work |

This operation changes saved state. Review its inputs and retry behavior before calling.

## Example request

Connect through [MCP](/guides/connect-mcp), [CLI](/guides/connect-cli), or [HTTP](/guides/connect-http). Replace example identifiers with records from your workspace.

```json MCP theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "schedule_internal_link_scans",
    "arguments": {
      "projectId": "prj_example",
      "cadence": "weekly"
    }
  }
}
```

```bash CLI theme={null}
agentlinkops call schedule_internal_link_scans --args '{"projectId":"prj_example","cadence":"weekly"}'
```

```bash HTTP theme={null}
curl --fail-with-body https://app.agentlinkops.com/v1/commands/schedule_internal_link_scans \
  -H "Authorization: Bearer $AGENTLINKOPS_TOKEN" \
  -H 'Content-Type: application/json' \
  --data '{"projectId":"prj_example","cadence":"weekly"}'
```

## Returned result

Illustrative data validated against the documented response schema. IDs and dates are examples, not a live account capture. MCP returns this data in `structuredContent` and in a text content block; generic HTTP and CLI return the JSON result directly.

```json theme={null}
{
  "schedule": {
    "cadence": "weekly",
    "pageLimit": null,
    "nextRunAt": "2026-10-22T12:00:00.000Z",
    "updatedAt": "2026-10-15T12:00:00.000Z",
    "lastRunId": null,
    "lastStartedAt": null,
    "lastError": null
  }
}
```

## Input fields

Omit optional fields when you do not want to supply them. Null is accepted only where listed. Unknown input properties are rejected.

| Field | Type | Presence | Meaning and constraints |
| - | - | - | - |
| `projectId` | string | Required | project ID from create/list. minLength: `1`; maxLength: `200` |
| `cadence` | string | Required | values: `"off"`, `"weekly"`, `"monthly"` |
| `pageLimit` | number / number / number / number | Optional | Page limit for each scheduled scan, at most your plan run limit. |

### Validation and omitted values

Sets weekly or monthly rescans for one website, or turns them off. One schedule per website; the first scheduled scan starts one cadence after the newest scan, or at once when there is none.

Each scheduled scan runs like start\_internal\_link\_scan with the current access of the member who set the schedule; revoked access, a changed website address or a workspace without background scans ends the schedule. Scans count toward the shared daily page allowance and wait while an earlier scan is still open.

Each finished scan's view=changes compares it with the previous finished scan for pages both scans checked.

## Output fields

Fields inside optional or nullable parents apply only when that parent exists. [Common schema conventions](/reference/schemas) explain evidence states, empty lists and extensions.

| Field | Type | Presence | Meaning and constraints |
| - | - | - | - |
| `schedule` | object | Required | additional fields rejected |
| `schedule.cadence` | string | Required | values: `"off"`, `"weekly"`, `"monthly"` |
| `schedule.pageLimit` | number / number / number / number / null | Required | |
| `schedule.nextRunAt` | string / null | Required | |
| `schedule.updatedAt` | string / null | Required | |
| `schedule.lastRunId` | string / null | Required | Identifier returned by the related operation. |
| `schedule.lastStartedAt` | string / null | Required | |
| `schedule.lastError` | string / null | Required | |

[Download input schema](/schemas/schedule_internal_link_scans.input.json) · [Download output schema](/schemas/schedule_internal_link_scans.output.json)

## Errors and retries

This write is annotated idempotent without a caller-supplied idempotency key. Reconcile saved state after an uncertain response, then use the same inputs for the same intended operation. Do not add an unsupported key. Operation-specific errors include `INTERNAL_LINK_SCANS_UNAVAILABLE`, `SCAN_SCHEDULE_UNAVAILABLE`, `INVALID_INPUT`.

See [error recovery](/reference/errors) for status, scope, cooldown, cursor and retry handling. Unknown observations are result data and do not establish loss.

## HTTP resource routes

This operation has no separate resource alias. Use its generic command route in a matching environment.

## Continue

[list\_internal\_link\_scans](/reference/commands/list_internal_link_scans) · [query\_internal\_link\_scan](/reference/commands/query_internal_link_scan)

Follow the [related workflow](/guides/internal-links), inspect [capability status](/capability-status), or return to the [command index](/reference/index).


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