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
| Category | Code and developer |
|---|---|
| Provider host | sheets.api.williamrobinson.dev |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 3 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 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"
},