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

# Recover failed connections and interrupted work

> Resolve authentication and scope errors, pending or unknown checks, expired evidence and cursors, local sync conflicts and webhook failures.

Start with the operation, error code and returned identifiers. Keep the original request and its idempotency value when recovering a write. The [reference](/mcp-tools/generated/overview) defines each operation's exact inputs and errors.

## Authentication or permission failure

**401:** verify the credential belongs to this API origin. Reconnect OAuth through your [MCP client](/guides/connect-mcp), or replace the API credential through your approved environment setup.

**403:** check workspace selection, project grants, membership role and every required scope. A valid credential can still lack permission. Ask the workspace administrator for the needed access; retrying the same forbidden call will not widen a grant. Workspace-wide event reads refuse project-limited grants.

**No command endpoint:** your connected release may predate generic commands. Use a documented resource route or registered MCP operation and check [availability](/capability-status).

## Queued, failed or unknown checks

Read the saved job identifier before submitting more work. A pending job can be waiting for admission or execution. Review usage reservations and error details. Replaying a lost request uses the same payload and idempotency value; changing that payload can cause a conflict.

A terminal job with `unknown` evidence does not prove absence. Read the reason and attempt time. Check a challenge, robots refusal, rate limit or unreadable page through the appropriate browser or publisher route. Do not turn repeated inconclusive attempts into confirmed loss. [Evidence states](/evidence) explains the confirmation rule.

For `BATCH_VERIFICATION_UNAVAILABLE`, the server needs its batch migration and release. Use available single-candidate verification when appropriate; do not repeat batch admission indefinitely.

## Expired history or raw evidence

For `CURSOR_EXPIRED`, follow the returned snapshot recovery instructions. Persist the snapshot before resuming from its cursor. Keep source and destination cursors separate. Record any lost history interval instead of reporting no changes.

For `EVIDENCE_EXPIRED`, retain observation metadata and its original date. A new authorized check can supply current evidence; it cannot restore the historical page. Follow [sync and export](/guides/sync-and-export) for local recovery.

## Local connection conflicts

Run `doctor`. Check that `LINKTRAIL_TOKEN` and `LINKTRAIL_API_KEY` do not disagree, and that the environment origin matches saved configuration. A ledger connected to another project needs a separate ledger for the new identity. Review the [CLI setup](/guides/connect-cli) before changing files.

For local context path refusal, place the handoff inside the configured repository and inspect symlinks. Missing Search Console rows remain missing observations; use [manual context](/guides/local-context) when no Google grant exists.

## Provider or delivery refusal

A registered discovery operation can still have disabled admission. Use a customer-owned import or available corpus lane. Preserve the refusal and mark coverage unavailable.

For webhooks, inspect endpoint state and delivery history, validate the raw-body signature and deduplicate attempts. Correct the receiver before reactivation. Recover missed changes through authenticated event feeds. The [webhook guide](/guides/webhooks) covers rotation and history gaps.

Use the [error-code reference](/reference/errors) for status-specific handling, [common schemas](/reference/schemas) for response shapes, and the [documentation changelog](/changelog) when a newly documented route is absent from your server.
