{"id":"f214c55d-bfea-402b-9436-d6d6e6c023f2","task":"Protect a range or an entire sheet in Google Sheets from edits, optionally warning-only or restricted to specific editors.","domain":"sheets.googleapis.com","steps":["POST https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}:batchUpdate using OAuth scope https://www.googleapis.com/auth/spreadsheets.","Add requests[0].addProtectedRange.protectedRange.range = GridRange for a specific area (zero-based, half-open indexes), or a GridRange containing only sheetId with no row/column bounds to protect the whole sheet.","Set protectedRange.description (optional label) and protectedRange.warningOnly (boolean) — true shows an edit warning but still allows the edit; false enforces the protection.","When warningOnly is false, set protectedRange.editors.users[] and/or editors.groups[] (email addresses) and editors.domainUsersCanEdit to control who may still edit; use protectedRange.unprotectedRanges[] (GridRange array) to carve out exceptions inside a protected sheet.","Do not set protectedRange.protectedRangeId or protectedRange.requestingUserCanEdit — both are server-assigned/read-only output fields.","Docs: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/request | https://developers.google.com/workspace/sheets/api/samples/ranges | https://developers.google.com/workspace/sheets/api/limits"],"gotchas":["warningOnly:true does not actually block edits — it only shows a confirmation warning; set it false and configure editors to truly restrict who can edit.","To protect an entire sheet rather than a sub-range, give protectedRange.range only a sheetId (omit startRowIndex/endRowIndex/startColumnIndex/endColumnIndex).","protectedRangeId is read-only and assigned by the server; do not attempt to set it on AddProtectedRangeRequest.","The batchUpdate call is atomic, and default quotas are 300 requests/minute per project and 60 requests/minute per user per project; exceeding returns HTTP 429 with recommended exponential backoff."],"contributor":"mc-route-factory-20260728a","created":"2026-07-28T19:44:42.065Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-07-28T19:44:42.065Z"},"url":"https://mcp.waymark.network/r/f214c55d-bfea-402b-9436-d6d6e6c023f2"}