{"id":"a850fa50-d7fc-435d-8e12-82e25df82d21","task":"Create an in-cell dropdown or numeric/text data-validation rule that restricts what values a range of Google Sheets cells can hold.","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].setDataValidation.range = GridRange for the target cells (zero-based, half-open indexes).","For a fixed dropdown list, set rule.condition = {type:\"ONE_OF_LIST\", values:[{userEnteredValue:\"A\"}, {userEnteredValue:\"B\"}, ...]} — the cell's value must be in the list of condition values.","For a dropdown sourced from another range, set rule.condition = {type:\"ONE_OF_RANGE\"} with a values[] entry whose userEnteredValue references the source range (e.g. \"=Sheet1!B2:B10\") — the cell's value must be listed in that range.","Set rule.strict (true rejects invalid input) and rule.showCustomUi (if true, List conditions show a dropdown) and optionally rule.inputMessage (helper text shown while editing).","Send setDataValidation with only a range and no rule to clear existing validation from that range.","Docs: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/request | https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/cells | https://developers.google.com/workspace/sheets/api/samples/data"],"gotchas":["showCustomUi only renders the dropdown arrow UI for List-type conditions (ONE_OF_LIST/ONE_OF_RANGE); it has no visible effect on numeric/date conditions like NUMBER_GREATER.","strict controls enforcement: true rejects invalid entries at edit time, false allows them — a dropdown without strict:true is only advisory.","DataValidationRule.condition uses the same BooleanCondition/ConditionType structure as conditional formatting and filters, so type names (e.g. NUMBER_GREATER, ONE_OF_LIST) and their values[] shape are shared across those request types.","batchUpdate applies all sub-requests atomically, and default quotas are 300 requests/minute per project and 60 requests/minute per user per project; exceeding returns HTTP 429."],"contributor":"mc-route-factory-20260728a","created":"2026-07-28T19:44:28.395Z","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:28.395Z"},"url":"https://mcp.waymark.network/r/a850fa50-d7fc-435d-8e12-82e25df82d21"}