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

# Link Monitoring tools

> Inputs, access and errors for 10 registered link monitoring tools.

Generated 2026-09-13T03:11:22.248Z from `src/tool-registry.js` by `scripts/export-mint-tool-docs.mjs`. 10 of 62 registered tools. Authenticated cloud tools have REST endpoints under `/v1/`. The anonymous `verify_link_free` tool uses `POST /free/check` and `/free/mcp`.

## locate\_link

Read link occurrences from one saved observation ID. Does not search URLs or fetch the publisher page.

* **State**: Registered and locally tested.
* **Access**: read · scope: `watches:read` · defined at `src/tool-registry.js:50`

| Input           | Type   | Required | Notes                                                                |
| --------------- | ------ | -------- | -------------------------------------------------------------------- |
| `observationId` | string | yes      | ID of a saved observation; this does not fetch a new publisher page. |

**Error codes**: `CHECK_COOLDOWN` · `CHECK_QUOTA_EXCEEDED` · `CURSOR_EXPIRED` · `IDEMPOTENCY_CONFLICT` · `INVALID_CURSOR` · `INVALID_GRANT` · `INVALID_INPUT` · `INVALID_LIMIT` · `INVALID_URL` · `JOB_NOT_FOUND` · `OBSERVATION_NOT_FOUND` · `OBSERVATION_UNREADABLE` · `PROJECT_GRANT_RESTRICTED` · `PROJECT_NOT_FOUND` · `READ_ONLY_MEMBER` · `UNAUTHORIZED` · `WATCH_BUSY` · `WATCH_NOT_FOUND` · `WATCH_PAUSED` · `WATCH_QUOTA_EXCEEDED` · `WORKSPACE_ACCESS_DENIED`

## list\_link\_watches

List monitored placements with last known state and latest attempt.

* **State**: Registered.
* **Access**: read · scope: `watches:read` · defined at `src/tool-registry.js:79`

| Input       | Type    | Required | Notes                                                                                                         |
| ----------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------- |
| `cursor`    | string  | no       | Opaque continuation returned by this same listing; omit for the first page.                                   |
| `limit`     | integer | no       | Maximum rows in this page or bounded report; subject to the schema maximum.                                   |
| `projectId` | string  | no       | Identifier of the project returned by its create or list operation.                                           |
| `q`         | string  | no       | Text filter applied to saved records; does not start discovery.                                               |
| `state`     | string  | no       | Requested resource state or saved-observation filter, as enumerated here.                                     |
| `status`    | string  | no       | Lifecycle status filter or requested status; this is separate from observation state.; one of: active, paused |

**Error codes**: `CHECK_COOLDOWN` · `CHECK_QUOTA_EXCEEDED` · `CURSOR_EXPIRED` · `IDEMPOTENCY_CONFLICT` · `INVALID_CURSOR` · `INVALID_GRANT` · `INVALID_INPUT` · `INVALID_LIMIT` · `INVALID_URL` · `JOB_NOT_FOUND` · `PROJECT_GRANT_RESTRICTED` · `PROJECT_NOT_FOUND` · `READ_ONLY_MEMBER` · `UNAUTHORIZED` · `WATCH_BUSY` · `WATCH_NOT_FOUND` · `WATCH_PAUSED` · `WATCH_QUOTA_EXCEEDED` · `WORKSPACE_ACCESS_DENIED`

## get\_link\_watch

Inspect a monitored placement and its expectations.

* **State**: Registered.
* **Access**: read · scope: `watches:read` · defined at `src/tool-registry.js:80`

| Input     | Type   | Required | Notes                                                             |
| --------- | ------ | -------- | ----------------------------------------------------------------- |
| `watchId` | string | yes      | Identifier of the watch returned by its create or list operation. |

**Error codes**: `CHECK_COOLDOWN` · `CHECK_QUOTA_EXCEEDED` · `CURSOR_EXPIRED` · `IDEMPOTENCY_CONFLICT` · `INVALID_CURSOR` · `INVALID_GRANT` · `INVALID_INPUT` · `INVALID_LIMIT` · `INVALID_URL` · `JOB_NOT_FOUND` · `PROJECT_GRANT_RESTRICTED` · `PROJECT_NOT_FOUND` · `READ_ONLY_MEMBER` · `UNAUTHORIZED` · `WATCH_BUSY` · `WATCH_NOT_FOUND` · `WATCH_PAUSED` · `WATCH_QUOTA_EXCEEDED` · `WORKSPACE_ACCESS_DENIED`

## monitor\_link

Monitor a known source page and target. Identical placements are deduplicated.

* **State**: Registered and locally tested.
* **Access**: write · scope: `watches:write` · defined at `src/tool-registry.js:81`

| Input            | Type         | Required | Notes                                                                                                    |
| ---------------- | ------------ | -------- | -------------------------------------------------------------------------------------------------------- |
| `projectId`      | string       | yes      | Identifier of the project returned by its create or list operation.                                      |
| `sourceUrl`      | string/uri   | yes      | Public publisher page URL containing the placement to inspect.                                           |
| `targetUrl`      | string/uri   | yes      | Public destination URL expected in the placement.                                                        |
| `targetScope`    | string       | no       | URL matching rule: exact URL, domain, subdomain, or path prefix.; one of: exact, domain, subdomain, path |
| `cadenceSeconds` | integer      | no       | Scheduled check interval in seconds, from 3600 to 2592000.                                               |
| `expectedAnchor` | string\|null | no       | Expected link anchor text; null clears the expectation.                                                  |
| `expectedRel`    | array\|null  | no       | Expected rel tokens; null clears the expectation.                                                        |
| `localReference` | string       | no       | Customer-owned reference to associate this record with a local ledger entry.                             |

**Side effects**: write

**Error codes**: `CHECK_COOLDOWN` · `CHECK_QUOTA_EXCEEDED` · `CURSOR_EXPIRED` · `IDEMPOTENCY_CONFLICT` · `INVALID_CURSOR` · `INVALID_GRANT` · `INVALID_INPUT` · `INVALID_LIMIT` · `INVALID_URL` · `JOB_NOT_FOUND` · `PROJECT_GRANT_RESTRICTED` · `PROJECT_NOT_FOUND` · `READ_ONLY_MEMBER` · `UNAUTHORIZED` · `WATCH_BUSY` · `WATCH_NOT_FOUND` · `WATCH_PAUSED` · `WATCH_QUOTA_EXCEEDED` · `WORKSPACE_ACCESS_DENIED`

## update\_link\_watch

Pause/resume a placement or update cadence and expectations.

* **State**: Registered.
* **Access**: write · scope: `watches:write` · defined at `src/tool-registry.js:83`

| Input            | Type         | Required | Notes                                                                                                         |
| ---------------- | ------------ | -------- | ------------------------------------------------------------------------------------------------------------- |
| `watchId`        | string       | yes      | Identifier of the watch returned by its create or list operation.                                             |
| `status`         | string       | no       | Lifecycle status filter or requested status; this is separate from observation state.; one of: active, paused |
| `cadenceSeconds` | integer      | no       | Scheduled check interval in seconds, from 3600 to 2592000.                                                    |
| `expectedAnchor` | string\|null | no       | Expected link anchor text; null clears the expectation.                                                       |
| `expectedRel`    | array\|null  | no       | Expected rel tokens; null clears the expectation.                                                             |
| `localReference` | string       | no       | Customer-owned reference to associate this record with a local ledger entry.                                  |

**Side effects**: write

**Error codes**: `CHECK_COOLDOWN` · `CHECK_QUOTA_EXCEEDED` · `CURSOR_EXPIRED` · `IDEMPOTENCY_CONFLICT` · `INVALID_CURSOR` · `INVALID_GRANT` · `INVALID_INPUT` · `INVALID_LIMIT` · `INVALID_URL` · `JOB_NOT_FOUND` · `PROJECT_GRANT_RESTRICTED` · `PROJECT_NOT_FOUND` · `READ_ONLY_MEMBER` · `UNAUTHORIZED` · `WATCH_BUSY` · `WATCH_NOT_FOUND` · `WATCH_PAUSED` · `WATCH_QUOTA_EXCEEDED` · `WORKSPACE_ACCESS_DENIED`

## get\_link\_history

List paginated saved observations for one monitored placement, including evidence references and retention limits.

* **State**: Registered.
* **Access**: read · scope: `watches:read` · defined at `src/tool-registry.js:86`

| Input     | Type    | Required | Notes                                                                       |
| --------- | ------- | -------- | --------------------------------------------------------------------------- |
| `watchId` | string  | yes      | Identifier of the watch returned by its create or list operation.           |
| `cursor`  | string  | no       | Opaque continuation returned by this same listing; omit for the first page. |
| `limit`   | integer | no       | Maximum rows in this page or bounded report; subject to the schema maximum. |

**Error codes**: `CHECK_COOLDOWN` · `CHECK_QUOTA_EXCEEDED` · `CURSOR_EXPIRED` · `IDEMPOTENCY_CONFLICT` · `INVALID_CURSOR` · `INVALID_GRANT` · `INVALID_INPUT` · `INVALID_LIMIT` · `INVALID_URL` · `JOB_NOT_FOUND` · `PROJECT_GRANT_RESTRICTED` · `PROJECT_NOT_FOUND` · `READ_ONLY_MEMBER` · `UNAUTHORIZED` · `WATCH_BUSY` · `WATCH_NOT_FOUND` · `WATCH_PAUSED` · `WATCH_QUOTA_EXCEEDED` · `WORKSPACE_ACCESS_DENIED`

## list\_link\_events

Read change events using an opaque cursor. Apply a full page locally before saving next\_cursor.

* **State**: Registered.
* **Access**: read · scope: `events:read` · defined at `src/tool-registry.js:88`

| Input       | Type    | Required | Notes                                                                       |
| ----------- | ------- | -------- | --------------------------------------------------------------------------- |
| `cursor`    | string  | no       | Opaque continuation returned by this same listing; omit for the first page. |
| `limit`     | integer | no       | Maximum rows in this page or bounded report; subject to the schema maximum. |
| `projectId` | string  | no       | Identifier of the project returned by its create or list operation.         |

**Error codes**: `CHECK_COOLDOWN` · `CHECK_QUOTA_EXCEEDED` · `CURSOR_EXPIRED` · `IDEMPOTENCY_CONFLICT` · `INVALID_CURSOR` · `INVALID_GRANT` · `INVALID_INPUT` · `INVALID_LIMIT` · `INVALID_URL` · `JOB_NOT_FOUND` · `PROJECT_GRANT_RESTRICTED` · `PROJECT_NOT_FOUND` · `READ_ONLY_MEMBER` · `UNAUTHORIZED` · `WATCH_BUSY` · `WATCH_NOT_FOUND` · `WATCH_PAUSED` · `WATCH_QUOTA_EXCEEDED` · `WORKSPACE_ACCESS_DENIED`

## export\_link\_watches

Export monitored placements with pagination for local CRM recovery.

* **State**: Registered.
* **Access**: read · scope: `exports:create` · defined at `src/tool-registry.js:89`

| Input       | Type    | Required | Notes                                                                                                         |
| ----------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------- |
| `cursor`    | string  | no       | Opaque continuation returned by this same listing; omit for the first page.                                   |
| `limit`     | integer | no       | Maximum rows in this page or bounded report; subject to the schema maximum.                                   |
| `projectId` | string  | no       | Identifier of the project returned by its create or list operation.                                           |
| `q`         | string  | no       | Text filter applied to saved records; does not start discovery.                                               |
| `state`     | string  | no       | Requested resource state or saved-observation filter, as enumerated here.                                     |
| `status`    | string  | no       | Lifecycle status filter or requested status; this is separate from observation state.; one of: active, paused |

**Error codes**: `CHECK_COOLDOWN` · `CHECK_QUOTA_EXCEEDED` · `CURSOR_EXPIRED` · `IDEMPOTENCY_CONFLICT` · `INVALID_CURSOR` · `INVALID_GRANT` · `INVALID_INPUT` · `INVALID_LIMIT` · `INVALID_URL` · `JOB_NOT_FOUND` · `PROJECT_GRANT_RESTRICTED` · `PROJECT_NOT_FOUND` · `READ_ONLY_MEMBER` · `UNAUTHORIZED` · `WATCH_BUSY` · `WATCH_NOT_FOUND` · `WATCH_PAUSED` · `WATCH_QUOTA_EXCEEDED` · `WORKSPACE_ACCESS_DENIED`

## get\_link\_profile

Summarize monitored placements, source hosts, destinations and observed rel attributes. Read coverage: this is your tracked dataset, not the whole web.

* **State**: Registered and locally tested.
* **Access**: read · scope: `watches:read` · defined at `src/tool-registry.js:90`

| Input       | Type    | Required | Notes                                                                                                              |
| ----------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------ |
| `projectId` | string  | no       | Identifier of the project returned by its create or list operation.                                                |
| `status`    | string  | no       | Lifecycle status filter or requested status; this is separate from observation state.; one of: all, active, paused |
| `limit`     | integer | no       | Maximum rows in this page or bounded report; subject to the schema maximum.                                        |

**Error codes**: `CURSOR_NOT_SUPPORTED` · `INVALID_INPUT` · `INVALID_LIMIT`

## get\_anchor\_report

Analyze exact anchors and Unicode terms from saved successful observations. Counts include explicit coverage and stale-evidence indicators.

* **State**: Registered and locally tested.
* **Access**: read · scope: `watches:read` · defined at `src/tool-registry.js:91`

| Input       | Type    | Required | Notes                                                                                                              |
| ----------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------ |
| `projectId` | string  | no       | Identifier of the project returned by its create or list operation.                                                |
| `status`    | string  | no       | Lifecycle status filter or requested status; this is separate from observation state.; one of: all, active, paused |
| `limit`     | integer | no       | Maximum rows in this page or bounded report; subject to the schema maximum.                                        |

**Error codes**: `CURSOR_NOT_SUPPORTED` · `INVALID_INPUT` · `INVALID_LIMIT`
