confirm_disavow_upload
Record a dated check of the disavow file Google holds. Send text (the file downloaded from Google’s disavow tool) for a rule-by-rule comparison with the approved list, or counts (domains and urls Google shows) when it offers no download. Returns match or differs with up to 20 examples each way, and the updated status. Leaves the rules as they are; viewers cannot record checks.
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.
This operation changes saved state. Review its inputs and retry behavior before calling.
Example request
Connect through MCP, CLI, or HTTP. Replace example identifiers with records from your workspace.Returned result
Illustrative data validated against the documented response schema. IDs and dates are examples, not a live account capture. MCP returns this data instructuredContent and in a text content block; generic HTTP and CLI return the JSON result directly.
Full response example
Full response example
Input fields
Omit optional fields when you do not want to supply them. Null is accepted only where listed. Unknown input properties are rejected.Validation and omitted values
Supply an accessible projectId and exactly one of text or counts. text must be the Google-format file downloaded from Google’s disavow tool. counts contains the nonnegative integer domain and URL counts Google displays, each at most 100000, when no file download is available. This operation records a dated comparison with the currently approved list and leaves all rules unchanged. It does not upload, remove or edit Google’s file. Agents with watches:write may record checks; viewers cannot. Approving, rejecting or deleting rules still requires a signed-in owner or administrator. Text comparison returns match or differs with at most 20 examples missing from Google and 20 extra examples. Counts comparison returns counts_match or counts_differ; matching counts yield counts_only status and do not establish a rule-by-rule match. checked_at is the time AgentLinkOps records the check. Optional counts.uploaded_on is the Google-reported date supplied as YYYY-MM-DD, not proof that this operation uploaded a file. It is null when omitted and for text checks. The current status uses the saved comparison and approved-rule hash, rather than assuming an upload from that date. Checks use the current rule revision and refuse a concurrent revision or closing scope. The newest 900 checks per website are retained. This command is not idempotent; after an uncertain response, read get_disavow_status before recording another check.Output fields
Fields inside optional or nullable parents apply only when that parent exists. Common schema conventions explain evidence states, empty lists and extensions.check(object, required): additional fields rejectedstatus(object, required): Resource lifecycle status. additional fields rejected
All fields and nested objects
All fields and nested objects
Errors and retries
This write is not annotated idempotent. After a timeout, inspect existing state before repeating it. Operation-specific errors includeINVALID_DISAVOW_INPUT, DISAVOW_CHECK_CAPACITY, HUMAN_ADMIN_REQUIRED, DISAVOW_NOT_READY, DISAVOW_REVISION_CONFLICT, DISAVOW_RULE_NOT_FOUND, DISAVOW_RULE_CONFLICT, DISAVOW_SCOPE_CLOSED, DISAVOW_CAPACITY, DISAVOW_EXPORT_CAPACITY, DISAVOW_IMPORT_TOO_LARGE, DISAVOW_RULE_TOO_LARGE, INVALID_CURSOR.
See error recovery for status, scope, cooldown, cursor and retry handling. Unknown observations are result data and do not establish loss.