> ## 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.

# Check link

> Run all available checks for one active link: source presence, destination health, placement classification from fresh evidence, and permitted Google index evidence.

`check_link_watch`

Run all available checks for one active link: source presence, destination health, placement classification from fresh evidence, and permitted Google index evidence. Each component retains its own allowance and permission. Retry the same key to read progress; unavailable components stay explicit.

<Note>This command name is absent from deployment evidence dated 2026-09-20. 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.</Note>

| Access | Behavior |
| - | - |
| `watches:read`, `watches:write` | 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.

<CodeGroup>
  ```json MCP theme={null}
  {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "check_link_watch",
      "arguments": {
        "watchId": "wat_01example",
        "idempotencyKey": "all-checks-wat_01example"
      }
    }
  }
  ```

  ```bash CLI theme={null}
  agentlinkops call check_link_watch --args '{"watchId":"wat_01example","idempotencyKey":"all-checks-wat_01example"}'
  ```

  ```bash HTTP theme={null}
  curl --fail-with-body https://app.agentlinkops.com/v1/commands/check_link_watch \
    -H "Authorization: Bearer $AGENTLINKOPS_TOKEN" \
    -H 'Content-Type: application/json' \
    --data '{"watchId":"wat_01example","idempotencyKey":"all-checks-wat_01example"}'
  ```
</CodeGroup>

## 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.

<Accordion title="Full response example">
  ```json theme={null}
  {
    "id": "lck_example",
    "watch_id": "wat_01example",
    "operation_key": "all-checks-wat_01example",
    "state": "running",
    "source": {
      "state": "queued",
      "job_id": "job_example",
      "reason": null,
      "result": null,
      "lane": null
    },
    "target": {
      "state": "queued",
      "job_id": "tjb_example",
      "reason": null,
      "result": null,
      "lane": null
    },
    "classification": {
      "state": "waiting_source",
      "job_id": null,
      "reason": null,
      "result": null,
      "lane": null
    },
    "google": {
      "state": "unavailable",
      "job_id": null,
      "reason": "GOOGLE_SOURCE_PROPERTY_UNAVAILABLE",
      "result": null,
      "lane": null
    },
    "follow_up_required": true
  }
  ```
</Accordion>

## 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 |
| - | - | - | - |
| `watchId` | string | Required | watch ID from create/list. minLength: `1`; maxLength: `200` |
| `idempotencyKey` | string | Required | Caller-generated key reused only for retries of the same operation and arguments in this workspace. pattern: `"^[\\x21-\\x7e]{1,128}$"` |

### Validation and omitted values

Run all available checks for one active link: source presence, destination health, placement classification from fresh evidence, and permitted Google index evidence. Each component retains its own allowance and permission. Retry the same key to read progress; unavailable components stay explicit.

Closing the console does not cancel the operation. Its execution window is thirty minutes; the saved receipt remains available.

Classification requires a current source check that confirms the link and one eligible link occurrence. Multiple occurrences require review in Evidence.

Google crawl time is included only when an eligible Search Console inspection returns it. A licensed Google site-query result indicates search visibility, not a confirmed crawl.

## 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.

* **`id`** (string, required): Resource identifier returned by the operation.
* **`watch_id`** (string, required): Identifier returned by the related operation.
* **`operation_key`** (string, required).
* **`state`** (string, required): Saved lifecycle or evidence state, as enumerated for this record. values: `"pending"`, `"running"`, `"completed"`, `"partial"`
* **`source`** (object, required): additional fields rejected
* **`target`** (object, required): additional fields rejected
* **`classification`** (object, required): additional fields rejected
* **`google`** (object, required): additional fields rejected
* **`follow_up_required`** (boolean, required).

<Accordion title="All fields and nested objects">
  | Field | Type | Presence | Meaning and constraints |
  | - | - | - | - |
  | `id` | string | Required | Resource identifier returned by the operation. |
  | `watch_id` | string | Required | Identifier returned by the related operation. |
  | `operation_key` | string | Required | |
  | `state` | string | Required | Saved lifecycle or evidence state, as enumerated for this record. values: `"pending"`, `"running"`, `"completed"`, `"partial"` |
  | `source` | object | Required | additional fields rejected |
  | `source.state` | string | Required | Saved lifecycle or evidence state, as enumerated for this record. values: `"queued"`, `"running"`, `"completed"`, `"skipped"`, `"unavailable"`, `"failed"`, `"waiting_source"` |
  | `source.job_id` | string / null | Required | Identifier returned by the related operation. |
  | `source.reason` | string / null | Required | Recorded explanation; null when no explanation applies. |
  | `source.result` | string / null | Required | Saved result; null when this operation has no completed result. |
  | `source.lane` | string / null | Required | |
  | `source.last_crawl_at` | string / null | Optional | |
  | `target` | object | Required | additional fields rejected |
  | `target.state` | string | Required | Saved lifecycle or evidence state, as enumerated for this record. values: `"queued"`, `"running"`, `"completed"`, `"skipped"`, `"unavailable"`, `"failed"`, `"waiting_source"` |
  | `target.job_id` | string / null | Required | Identifier returned by the related operation. |
  | `target.reason` | string / null | Required | Recorded explanation; null when no explanation applies. |
  | `target.result` | string / null | Required | Saved result; null when this operation has no completed result. |
  | `target.lane` | string / null | Required | |
  | `target.last_crawl_at` | string / null | Optional | |
  | `classification` | object | Required | additional fields rejected |
  | `classification.state` | string | Required | Saved lifecycle or evidence state, as enumerated for this record. values: `"queued"`, `"running"`, `"completed"`, `"skipped"`, `"unavailable"`, `"failed"`, `"waiting_source"` |
  | `classification.job_id` | string / null | Required | Identifier returned by the related operation. |
  | `classification.reason` | string / null | Required | Recorded explanation; null when no explanation applies. |
  | `classification.result` | string / null | Required | Saved result; null when this operation has no completed result. |
  | `classification.lane` | string / null | Required | |
  | `classification.last_crawl_at` | string / null | Optional | |
  | `google` | object | Required | additional fields rejected |
  | `google.state` | string | Required | Saved lifecycle or evidence state, as enumerated for this record. values: `"queued"`, `"running"`, `"completed"`, `"skipped"`, `"unavailable"`, `"failed"`, `"waiting_source"` |
  | `google.job_id` | string / null | Required | Identifier returned by the related operation. |
  | `google.reason` | string / null | Required | Recorded explanation; null when no explanation applies. |
  | `google.result` | string / null | Required | Saved result; null when this operation has no completed result. |
  | `google.lane` | string / null | Required | |
  | `google.last_crawl_at` | string / null | Optional | |
  | `follow_up_required` | boolean | Required | |
</Accordion>

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

## Errors and retries

When retrying with idempotencyKey, reuse the original value and the same arguments; preserve originally omitted optional fields. Generic HTTP puts idempotencyKey in the JSON body, while resource routes use the header where listed below. A changed payload under a reused key can conflict.

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

[get\_link\_watch](/reference/commands/get_link_watch) · [list\_index\_observations](/reference/commands/list_index_observations)

Follow the [related workflow](/guides/monitor-changes), 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.