ToolAssay

Apply cell and named-range edits to an .xlsx, recalculate it with a real spreads

Apply cell and named-range edits to an .xlsx, recalculate it with a real spreadsheet engine, and return the modified workbook alongside a dependency-impact, error, stale-cache, unsupported-function, and invariant audit

Answeringour last check, 2026-09-24
1 of 1checks answered this week
546 msmedian answer time
$0.05listed price per call
$0.05price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

POST https://sheets.api.williamrobinson.dev/v1/sheets/modify

CategoryCode and developer
Provider hostsheets.api.williamrobinson.dev
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days3 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-09-24 valid payment request 402$0.05 546 ms

Example input (from the provider)

{
  "body": {
    "edits": [
      {
        "target": {
          "cell": "B2",
          "sheet": "Model"
        },
        "value": 0.08
      },
      {
        "formula": "=B3-B4",
        "target": {
          "cell": "B5",
          "sheet": "Model"
        }
      }
    ],
    "invariants": [
      {
        "id": "revenue-meets-target",
        "kind": "equals",
        "left": {
          "cell": "B3",
          "sheet": "Model"
        },
        "right": {
          "cell": "B4",
          "sheet": "Model"
        },
        "tolerance": 0.01
      }
    ],
    "watch": [
      {
        "cell": "B5",
        "sheet": "Model"
      }
    ],
    "workbook": "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"
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "$defs": {
            "ref": {
              "additionalProperties": false,
              "properties": {
                "cell": {
                  "description": "A1-style cell reference. This pattern is a superset of the real Calc grid; the API additionally enforces columns A-XFD (1-16384) and rows 1-1048576, which a regex alone cannot express.",
                  "pattern": "^[A-Z]{1,3}[1-9][0-9]{0,6}$",
                  "type": "string"
                },
                "sheet": {
                  "maxLength": 31,
                  "minLength": 1,
                  "pattern": "^[^\\[\\]:*?/\\\\]{1,31}$",
                  "type": "string"
                }
              },
              "required": [
                "sheet",
                "cell"
              ],
              "type": "object"
            }
          },
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "additionalProperties": false,
          "properties": {
            "edits": {
              "default": [],
              "items": {
                "additionalProperties": false,
                "oneOf": [
                  {
                    "properties": {
                      "value": true
                    },
                    "required": [
                      "value"
                    ]
                  },
                  {
                    "properties": {
                      "formula": true
                    },
                    "required": [
                      "formula"
                    ]
                  }
                ],
                "properties": {
                  "formula": {
                    "description": "Excel A1 syntax, e.g. \"=SUM(Model!B2:B9)\".",
                    "maxLength": 8192,
                    "pattern": "^=",
                    "type": "string"
                  },
                  "target": {
                    "oneOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "cell": {
                            "description": "A1-style cell reference. This pattern is a superset of the real Calc grid; the API additionally enforces columns A-XFD (1-16384) and rows 1-1048576, which a regex alone cannot express.",
                            "pattern": "^[A-Z]{1,3}[1-9][0-9]{0,6}$",
                            "type": "string"
                          },
                          "sheet": {
                            "maxLength": 31,
                            "minLength": 1,
                            "pattern": "^[^\\[\\]:*?/\\\\]{1,31}$",
                            "type": "string"
                          }
                        },
                        "required": [
                          "sheet",
                          "cell"
                        ],
                        "type": "object"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "name": {
                            "pattern": "^[A-Za-z_\\\\][A-Za-z0-9_.]{0,254}$",
                            "type": "string"
                          }
                        },
                        "required": [
                          "name"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "value": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "maxLength": 32768,
                        "type": "string"
                      },
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "target"
                ],
                "type": "object"
              },
              "maxItems": 200,
              "type": "array"
            },
            "invariants": {
              "default": [],
              "items": {
                "oneOf": [
                  {
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "pattern": "^[A-Za-z0-9_-]{1,64}$",
                        "type": "string"
                      },
                      "kind": {
                        "const": "equals"
                      },
                      "left": {
                        "$ref": "#/properties/input/properties/body/$defs/ref"
                      },
                      "right": {
                        "$ref": "#/properties/input/properties/body/$defs/ref"
                      },
                      "tolerance": {
                        "minimum": 0,
                        "type": "number"
                      }
                    },
                    "required": [
                      "id",
                      "kind",
                      "left",
                      "right",
                      "tolerance"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "cell": {
                        "$ref": "#/properties/input/properties/body/$defs/ref"
                      },
                      "id": {
                        "pattern": "^[A-Za-z0-9_-]{1,64}$",
                        "type": "string"
                      },
                   

This page as JSON