Data, filters, and objects
Filters, subtotals, data cleanup, tables, text import, data validation, slicers, and form controls. Operations on this page: 23.
Filters, subtotals, data cleanup, tables, text import, data validation, slicers, and form controls. Terms are in the glossary.
Operations on this page — 23
advanced_filter_planapply_outline_subtotalapply_range_filtercommit_delimited_text_importdata_cleanupdrawing_object_actiondrawing_object_history_replayevaluate_data_validation_inputexternal-range-properties-applyexternal-range-properties-inventoryfinalize_object_selection_pane_packageform_controlsmutate_table_hyperlink_artifactsmutate_table_modelopen_document_object_creationread_data_validation_rulesset_data_validation_rulesset_range_filter_enabledslicer_timelinesort_filter_index_updatesparkline_actionssparkline_history_replayupdate_table_model
advanced_filter_plan
Section titled “advanced_filter_plan”Plans an advanced filter — “Data” → “Advanced”. The operation only reads: it returns a plan of which rows to hide or what to copy where, and your side applies it through the usual editing paths.
Request
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "advanced_filter_plan" |
yes |
subsetId |
string | yes |
| action | ContractAdvancedFilterAction | yes |
listRange |
CellRange | yes |
criteriaRange |
CellRange | null | no |
copyToRange |
CellRange | null | no |
uniqueRecordsOnly |
boolean | no |
requestedBackend |
ComputeBackendKind | null | no |
Response on success · advanced_filter_plan
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "advanced_filter_plan" |
yes |
matchedRows |
number[] | yes |
hiddenRows |
number[] | yes |
projectionCells |
ContractAdvancedFilterProjectedCell[] | yes |
outputRange |
CellRange | null | no |
sourceRowCount |
number | yes |
resultRowCount |
number | yes |
criteriaRowCount |
number | yes |
uniqueRecordsOnly |
boolean | yes |
formulaCriteriaUsed |
boolean | yes |
Minimal JSON template
{ "operation": "advanced_filter_plan", "subsetId": "<subsetId>", "action": "<ContractAdvancedFilterAction>", "listRange": "<CellRange>", "requestedBackend": "native-desktop"}apply_outline_subtotal
Section titled “apply_outline_subtotal”Applies an outline subtotal.
Request
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "apply_outline_subtotal" |
yes |
subsetId |
string | yes |
| range | CellRange | yes |
| action | ContractOutlineSubtotalAction | yes |
| axis | ContractOutlineAxis | null | no |
| level | number | null | no |
| subtotal | ContractSubtotalOptions | null | no |
| viewport | ViewportWindow | null | no |
requestedBackend |
ComputeBackendKind | null | no |
Response on success · apply_outline_subtotal
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "apply_outline_subtotal" |
yes |
subsetId |
string | yes |
| session | ContractSubsetSessionInfo | yes |
supportedSubset |
string | yes |
| delta | DeltaSummary | yes |
| action | ContractOutlineSubtotalAction | yes |
didChange |
boolean | yes |
outlineState |
ContractOutlineSubtotalState | yes |
layoutMetrics |
ContractLayoutMetricsSubset | yes |
activeSheet |
ContractActiveSheetMeta | yes |
| geometry | ContractGeometrySubset | yes |
recalcNeeded |
boolean | yes |
| viewport | ViewportWindow | yes |
previewCells |
ContractPreviewCell[] | yes |
Minimal JSON template
{ "operation": "apply_outline_subtotal", "subsetId": "<subsetId>", "range": "<CellRange>", "action": "<ContractOutlineSubtotalAction>", "requestedBackend": "native-desktop"}apply_range_filter
Section titled “apply_range_filter”Applies a range filter.
Request
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "apply_range_filter" |
yes |
subsetId |
string | yes |
| range | CellRange | yes |
| action | ContractRangeFilterAction | no |
targetColumn |
number | null | no |
| criteria | ContractRangeFilterColumnCriteria[] | no |
headerPolicy |
ContractRemoveDuplicatesHeaderPolicy | no |
| viewport | ViewportWindow | null | no |
requestedBackend |
ComputeBackendKind | null | no |
Response on success · apply_range_filter
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "apply_range_filter" |
yes |
subsetId |
string | yes |
| delta | DeltaSummary | yes |
| action | ContractRangeFilterAction | yes |
| criteria | ContractRangeFilterColumnCriteria[] | yes |
hiddenRows |
number[] | yes |
manualHiddenRows |
number[] | yes |
filterHiddenRows |
number[] | yes |
hiddenRowCount |
number | yes |
visibleRowCount |
number | yes |
workbookHistory |
ContractWorkbookHistoryProjection | yes |
recalcNeeded |
boolean | yes |
Minimal JSON template
{ "operation": "apply_range_filter", "subsetId": "<subsetId>", "range": "<CellRange>", "requestedBackend": "native-desktop"}commit_delimited_text_import
Section titled “commit_delimited_text_import”Commits a delimited-text import.
Request
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "commit_delimited_text_import" |
yes |
subsetId |
string | yes |
| edits | CellInputEdit[] | yes |
| destination | ContractDelimitedImportDestination | yes |
expectedRevision |
number | null | no |
readOnly |
boolean | no |
| cancelled | boolean | no |
| viewport | ViewportWindow | null | no |
requestedBackend |
ComputeBackendKind | null | no |
Response on success · commit_delimited_text_import
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "commit_delimited_text_import" |
yes |
subsetId |
string | yes |
createdSheet |
boolean | yes |
sheetKey |
string | yes |
appliedEditCount |
number | yes |
mutationCount |
number | yes |
workbookHistory |
ContractWorkbookHistoryProjection | yes |
| projection | ComputeResponsePayload | yes |
Minimal JSON template
{ "operation": "commit_delimited_text_import", "subsetId": "<subsetId>", "edits": [], "destination": "<ContractDelimitedImportDestination>", "requestedBackend": "native-desktop"}data_cleanup
Section titled “data_cleanup”Data cleanup from the “Data” tab: text to columns, removing duplicates, and similar. It runs in two steps — a preview, then applying it.
Request
| Field | TypeScript type | Req. | Note from the contract |
|---|---|---|---|
| operation | "data_cleanup" |
yes | |
subsetId |
string | yes | |
| action | ContractDataCleanupAction | yes | |
| intent | ContractDataCleanupIntent | yes | |
consecutiveDelimitersAsOne |
boolean | no | Treat several consecutive delimiters as one — when parsing text to columns. |
| locale | string | null | no | The language and regional rules the core uses to recognize a value’s type in General format — for example, a comma as the decimal separator for ru-RU. |
expectedRevision |
number | null | no | The workbook’s own revision, as seen by the preview. The operation runs in two steps, and on apply, a mismatch is rejected before the edit happens. |
previewToken |
string | null | no | |
| viewport | ViewportWindow | null | no | |
requestedBackend |
ComputeBackendKind | null | no |
Response on success · data_cleanup
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "data_cleanup" |
yes |
subsetId |
string | yes |
| session | ContractSubsetSessionInfo | yes |
| delta | DeltaSummary | yes |
| kind | "text_to_columns" | “remove_duplicates” | “remove_duplicates_copy” |
yes |
previewToken |
string | yes |
| applied | boolean | yes |
sourceRange |
CellRange | yes |
outputRange |
CellRange | yes |
duplicateCount |
number | yes |
remainingCount |
number | yes |
headerRowCount |
number | yes |
resultRowCount |
number | yes |
resultColCount |
number | yes |
copyOutput |
boolean | yes |
duplicateRowSpans |
ContractDataCleanupRowSpan[] | yes |
| audit | ContractDataCleanupAudit | yes |
tableName |
string | null | no |
tableRef |
string | null | no |
tableDataBodyRef |
string | null | no |
previewRows |
ContractDataCleanupPreviewRow[] | yes |
workbookHistory |
ContractWorkbookHistoryProjection | yes |
changedKeys |
string[] | yes |
dirtyCellCount |
number | yes |
activeSheet |
ContractActiveSheetMeta | yes |
| geometry | ContractGeometrySubset | yes |
recalcNeeded |
boolean | yes |
| viewport | ViewportWindow | yes |
previewCells |
ContractPreviewCell[] | yes |
Minimal JSON template
{ "operation": "data_cleanup", "subsetId": "<subsetId>", "action": "<ContractDataCleanupAction>", "intent": "<ContractDataCleanupIntent>", "requestedBackend": "native-desktop"}drawing_object_action
Section titled “drawing_object_action”Request
| Field | TypeScript type | Req. |
|---|---|---|
| operation | “drawing_object_action” | yes |
subsetId |
string | yes |
| action | ContractDrawingObjectAction | yes |
expectedRevision |
number | yes |
readOnly |
boolean | no |
| viewport | ViewportWindow | null | no |
Response on success · drawing_object_action
| Field | TypeScript type | Req. |
|---|---|---|
| operation | “drawing_object_action” | yes |
subsetId |
string | yes |
changedStableIds |
string[] | yes |
regroupGroupId |
string | null | no |
regroupMemberStableIds |
string[] | yes |
| dirty | boolean | yes |
authoritativeRevision |
number | yes |
historyOwner |
“drawing_objects” | yes |
workbookHistory |
ContractWorkbookHistoryProjection | yes |
activeSheet |
ContractActiveSheetMeta | yes |
| geometry | ContractGeometrySubset | yes |
| viewport | ViewportWindow | yes |
previewCells |
ContractPreviewCell[] | yes |
surfaceObjects |
ContractSheetObject[] | yes |
objectInventory |
ContractWorkbookObjectInventoryEntry[] | yes |
inkProjection |
ContractReviewInkProjectionItem[] | yes |
layoutMetrics |
ContractLayoutMetricsSubset | no |
Minimal JSON template
{ "operation": "drawing_object_action", "subsetId": "<subsetId>", "action": "<ContractDrawingObjectAction>", "expectedRevision": 0}drawing_object_history_replay
Section titled “drawing_object_history_replay”Response on success · drawing_object_history_replay
| Field | TypeScript type | Req. |
|---|---|---|
| operation | “drawing_object_history_replay” | yes |
subsetId |
string | yes |
| direction | ContractWorkbookHistoryDirection | yes |
| dirty | boolean | yes |
workbookHistory |
ContractWorkbookHistoryProjection | yes |
activeSheet |
ContractActiveSheetMeta | yes |
| geometry | ContractGeometrySubset | yes |
| viewport | ViewportWindow | yes |
previewCells |
ContractPreviewCell[] | yes |
surfaceObjects |
ContractSheetObject[] | yes |
objectInventory |
ContractWorkbookObjectInventoryEntry[] | yes |
inkProjection |
ContractReviewInkProjectionItem[] | yes |
layoutMetrics |
ContractLayoutMetricsSubset | no |
evaluate_data_validation_input
Section titled “evaluate_data_validation_input”Evaluates a value against validation rules.
Request
| Field | TypeScript type | Req. | Note from the contract |
|---|---|---|---|
| operation | "evaluate_data_validation_input" |
yes | |
subsetId |
string | yes | |
| inputs | ContractDataValidationRawInput[] | yes | |
companionEdits |
CellInputEdit[] | no | |
programmaticEdits |
CellInputEdit[] | no | The core first expands adjacent fill and drag-fill, and only then validates each destination cell. |
| commit | boolean | no | |
expectedRevision |
number | null | no | An optional race-condition check when commit: true. On a mismatch, the refusal apply-cell-edits-stale-revision comes back before the cells, history, or revision change. A check-only call with commit: false never becomes an edit. |
| continuation | ContractDataValidationContinuation | null | no | |
| viewport | ViewportWindow | null | no | |
requestedBackend |
ComputeBackendKind | null | no |
Response on success · evaluate_data_validation_input
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "evaluate_data_validation_input" |
yes |
subsetId |
string | yes |
| session | ContractSubsetSessionInfo | yes |
| verdict | ContractDataValidationVerdictKind | yes |
| verdicts | ContractDataValidationVerdict[] | yes |
continuationToken |
string | null | no |
allowedDecisions |
ContractDataValidationDecision[] | no |
| committed | ComputeResponsePayload | null | no |
Minimal JSON template
{ "operation": "evaluate_data_validation_input", "subsetId": "<subsetId>", "inputs": [], "requestedBackend": "native-desktop"}external-range-properties-apply
Section titled “external-range-properties-apply”Request
| Field | TypeScript type | Req. |
|---|---|---|
| operation | “external-range-properties-apply” | yes |
subsetId |
string | yes |
expectedRevision |
number | no |
| identity | ContractExternalRangeIdentity | yes |
| properties | ContractExternalRangeProperties | yes |
Response on success · external-range-properties-apply
| Field | TypeScript type | Req. |
|---|---|---|
| operation | “external-range-properties-apply” | yes |
| applied | boolean | yes |
| reason | string | no |
| detail | string | no |
workbookHistory |
ContractWorkbookHistoryProjection | no |
| ranges | ContractExternalRangeEntry[] | yes |
Minimal JSON template
{ "operation": "external-range-properties-apply", "subsetId": "<subsetId>", "identity": "<ContractExternalRangeIdentity>", "properties": "<ContractExternalRangeProperties>"}external-range-properties-inventory
Section titled “external-range-properties-inventory”Request
| Field | TypeScript type | Req. |
|---|---|---|
| operation | “external-range-properties-inventory” | yes |
subsetId |
string | yes |
Response on success · external-range-properties-inventory
| Field | TypeScript type | Req. |
|---|---|---|
| operation | “external-range-properties-inventory” | yes |
| ranges | ContractExternalRangeEntry[] | yes |
Minimal JSON template
{ "operation": "external-range-properties-inventory", "subsetId": "<subsetId>"}finalize_object_selection_pane_package
Section titled “finalize_object_selection_pane_package”Finishes a Selection Pane batch.
Request
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "finalize_object_selection_pane_package" |
yes |
subsetId |
string | yes |
sourcePackageBytesBase64 |
string | yes |
candidatePackageBytesBase64 |
string | yes |
objectProtectionMutations |
ContractSheetObjectMutationIntent[] | yes |
| commands | ContractObjectSelectionPanePackageCommand[] | yes |
drawingTextEdits |
ContractDrawingTextEditSemantics[] | yes |
adoptCurrentSource |
boolean | yes |
requestedBackend |
ComputeBackendKind | null | no |
Response on success · finalize_object_selection_pane_package
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "finalize_object_selection_pane_package" |
yes |
packageBytesBase64 |
string | yes |
byteCount |
number | yes |
mutationCount |
number | yes |
authoritativeRevision |
number | yes |
validatedDrawingTextCount |
number | yes |
adoptedCurrentSource |
boolean | yes |
Minimal JSON template
{ "operation": "finalize_object_selection_pane_package", "subsetId": "<subsetId>", "sourcePackageBytesBase64": "<base64>", "candidatePackageBytesBase64": "<base64>", "objectProtectionMutations": [], "commands": [], "drawingTextEdits": [], "adoptCurrentSource": false, "requestedBackend": "native-desktop"}form_controls
Section titled “form_controls”Form controls on a sheet — checkboxes, option buttons, list boxes: adding, configuring, and removing.
Request
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "form_controls" |
yes |
subsetId |
string | yes |
| intent | ContractFormControlsAction | yes |
| viewport | ViewportWindow | null | no |
requestedBackend |
ComputeBackendKind | null | no |
Response on success · form_controls
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "form_controls" |
yes |
subsetId |
string | yes |
| session | ContractSubsetSessionInfo | yes |
| delta | DeltaSummary | yes |
| action | string | yes |
| status | string | yes |
| controls | ContractFormControlView[] | yes |
objectInventory |
ContractWorkbookObjectInventoryEntry[] | yes |
linkedCellWrite |
ContractFormControlLinkedCellWrite | null | no |
changedKeys |
string[] | yes |
dirtyCellCount |
number | yes |
activeSheet |
ContractActiveSheetMeta | yes |
| geometry | ContractGeometrySubset | yes |
recalcNeeded |
boolean | yes |
| viewport | ViewportWindow | yes |
previewCells |
ContractPreviewCell[] | yes |
Minimal JSON template
{ "operation": "form_controls", "subsetId": "<subsetId>", "intent": "<ContractFormControlsAction>", "requestedBackend": "native-desktop"}mutate_table_hyperlink_artifacts
Section titled “mutate_table_hyperlink_artifacts”Request
| Field | TypeScript type | Req. |
|---|---|---|
| operation | “mutate_table_hyperlink_artifacts” | yes |
subsetId |
string | yes |
| action | ContractTableHyperlinkAction | yes |
expectedRevision |
number | yes |
readOnly |
boolean | no |
| protected | boolean | no |
| viewport | ViewportWindow | null | no |
Response on success · mutate_table_hyperlink_artifacts
| Field | TypeScript type | Req. |
|---|---|---|
| operation | “mutate_table_hyperlink_artifacts” | yes |
subsetId |
string | yes |
| session | ContractSubsetSessionInfo | yes |
| delta | DeltaSummary | yes |
| action | string | yes |
tableMetadata |
ContractTableMetadataProjection | yes |
workbookTableMetadata |
ContractTableMetadataProjection | yes |
hyperlinkMetadata |
ContractHyperlinkMetadataProjection | yes |
workbookHyperlinkMetadata |
ContractHyperlinkMetadataProjection | yes |
activeSheet |
ContractActiveSheetMeta | yes |
| geometry | ContractGeometrySubset | yes |
recalcNeeded |
boolean | yes |
| viewport | ViewportWindow | yes |
previewCells |
ContractPreviewCell[] | yes |
workbookHistory |
ContractWorkbookHistoryProjection | yes |
Minimal JSON template
{ "operation": "mutate_table_hyperlink_artifacts", "subsetId": "<subsetId>", "action": "<ContractTableHyperlinkAction>", "expectedRevision": 0}mutate_table_model
Section titled “mutate_table_model”Changes a table’s model.
Request
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "mutate_table_model" |
yes |
subsetId |
string | yes |
| mutation | ContractTableModelMutation | yes |
| viewport | ViewportWindow | null | no |
requestedBackend |
ComputeBackendKind | null | no |
Response on success · mutate_table_model
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "mutate_table_model" |
yes |
subsetId |
string | yes |
| session | ContractSubsetSessionInfo | yes |
| delta | DeltaSummary | yes |
| action | string | yes |
tableMetadata |
ContractTableMetadataProjection | yes |
workbookTableMetadata |
ContractTableMetadataProjection | yes |
activeSheet |
ContractActiveSheetMeta | yes |
| geometry | ContractGeometrySubset | yes |
recalcNeeded |
boolean | yes |
| viewport | ViewportWindow | yes |
previewCells |
ContractPreviewCell[] | yes |
workbookHistory |
ContractWorkbookHistoryProjection | yes |
Minimal JSON template
{ "operation": "mutate_table_model", "subsetId": "<subsetId>", "mutation": "<ContractTableModelMutation>", "requestedBackend": "native-desktop"}open_document_object_creation
Section titled “open_document_object_creation”Opens creation of an embedded document object.
Request
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "open_document_object_creation" |
yes |
subsetId |
string | yes |
sheetPath |
string | yes |
| creation | ContractOpenDocumentObjectCreation | yes |
readOnly |
boolean | no |
expectedRevision |
number | null | no |
requestedBackend |
ComputeBackendKind | null | no |
Response on success · open_document_object_creation
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "open_document_object_creation" |
yes |
subsetId |
string | yes |
createdObject |
ContractCreatedDocumentObject | yes |
byteCount |
number | yes |
| dirty | boolean | yes |
undoDepth |
number | yes |
redoDepth |
number | yes |
authoritativeRevision |
number | yes |
historyOwner |
"drawing_objects" |
yes |
Minimal JSON template
{ "operation": "open_document_object_creation", "subsetId": "<subsetId>", "sheetPath": "<sheetPath>", "creation": "<ContractOpenDocumentObjectCreation>", "requestedBackend": "native-desktop"}read_data_validation_rules
Section titled “read_data_validation_rules”Reads data validation rules.
Request
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "read_data_validation_rules" |
yes |
subsetId |
string | yes |
sheetKey |
string | yes |
| range | CellRange | null | no |
requestedBackend |
ComputeBackendKind | null | no |
Response on success · read_data_validation_rules
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "read_data_validation_rules" |
yes |
subsetId |
string | yes |
| session | ContractSubsetSessionInfo | yes |
sheetKey |
string | yes |
dataValidationMetadata |
ContractDataValidationMetadata | yes |
Minimal JSON template
{ "operation": "read_data_validation_rules", "subsetId": "<subsetId>", "sheetKey": "<sheetPath>", "requestedBackend": "native-desktop"}set_data_validation_rules
Section titled “set_data_validation_rules”Sets data validation rules.
Request
| Field | TypeScript type | Req. | Note from the contract |
|---|---|---|---|
| operation | "set_data_validation_rules" |
yes | |
subsetId |
string | yes | |
sheetKey |
string | yes | |
| rules | ContractDataValidationRuleIntent[] | yes | |
sourceLocale |
string | null | no | The locale that applies only to this request: the core uses it to parse the source entry in a list rule. |
expectedRevision |
number | null | no | Rejects writing rules from a stale state — before the markup, the unsaved flag, history, or revision change. |
requestedBackend |
ComputeBackendKind | null | no |
Response on success · set_data_validation_rules
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "set_data_validation_rules" |
yes |
subsetId |
string | yes |
| session | ContractSubsetSessionInfo | yes |
sheetKey |
string | yes |
appliedRuleCount |
number | yes |
dataValidationMetadata |
ContractDataValidationMetadata | yes |
workbookHistory |
ContractWorkbookHistoryProjection | yes |
Minimal JSON template
{ "operation": "set_data_validation_rules", "subsetId": "<subsetId>", "sheetKey": "<sheetPath>", "rules": [], "requestedBackend": "native-desktop"}set_range_filter_enabled
Section titled “set_range_filter_enabled”Sets whether a range filter is enabled.
Request
| Field | TypeScript type | Req. | Note from the contract |
|---|---|---|---|
| operation | "set_range_filter_enabled" |
yes | The same as the “Data ▸ Filter” button: turns AutoFilter on or off for the selected table or sheet. |
subsetId |
string | yes | |
| range | CellRange | yes | |
| enabled | boolean | yes | |
| viewport | ViewportWindow | null | no | |
requestedBackend |
ComputeBackendKind | null | no |
Response on success · set_range_filter_enabled
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "set_range_filter_enabled" |
yes |
subsetId |
string | yes |
| delta | DeltaSummary | yes |
autoFilterRef |
string | no |
unhiddenRowCount |
number | yes |
targetKind |
"range" | “table” |
yes |
tableMetadata |
ContractTableMetadataProjection | yes |
workbookTableMetadata |
ContractTableMetadataProjection | yes |
workbookHistory |
ContractWorkbookHistoryProjection | yes |
recalcNeeded |
boolean | yes |
Minimal JSON template
{ "operation": "set_range_filter_enabled", "subsetId": "<subsetId>", "range": "<CellRange>", "enabled": false, "requestedBackend": "native-desktop"}slicer_timeline
Section titled “slicer_timeline”Slicers and timelines: adding, configuring, and removing the visual controls used to filter pivot tables.
Request
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "slicer_timeline" |
yes |
subsetId |
string | yes |
| intent | ContractSlicerTimelineAction | yes |
expectedCacheGeneration |
number | null | no |
requestGeneration |
number | null | no |
| viewport | ViewportWindow | null | no |
requestedBackend |
ComputeBackendKind | null | no |
Response on success · slicer_timeline
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "slicer_timeline" |
yes |
subsetId |
string | yes |
| session | ContractSubsetSessionInfo | yes |
| delta | DeltaSummary | yes |
| action | string | yes |
| status | string | yes |
| controls | ContractSlicerTimelineControlView[] | yes |
changedRows |
number[] | yes |
hiddenRows |
number[] | yes |
refreshTargets |
string[] | yes |
connectedTargets |
ContractSlicerTimelineTargetView[] | yes |
filterConnections |
ContractPivotFilterConnectionView[] | yes |
refreshStatus |
ContractPivotRefreshStatusView | null | no |
dirtyCellCount |
number | yes |
activeSheet |
ContractActiveSheetMeta | yes |
| geometry | ContractGeometrySubset | yes |
recalcNeeded |
boolean | yes |
| viewport | ViewportWindow | yes |
previewCells |
ContractPreviewCell[] | yes |
Minimal JSON template
{ "operation": "slicer_timeline", "subsetId": "<subsetId>", "intent": "<ContractSlicerTimelineAction>", "requestedBackend": "native-desktop"}sort_filter_index_update
Section titled “sort_filter_index_update”Sorts the filter pointer’s update.
Request
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "sort_filter_index_update" |
yes |
subsetId |
string | yes |
| range | CellRange | yes |
requestedBackend |
ComputeBackendKind | null | no |
Response on success · sort_filter_index_update
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "sort_filter_index_update" |
yes |
| delta | DeltaSummary | yes |
indexVersion |
number | yes |
Minimal JSON template
{ "operation": "sort_filter_index_update", "subsetId": "<subsetId>", "range": "<CellRange>", "requestedBackend": "native-desktop"}sparkline_actions
Section titled “sparkline_actions”Request
| Field | TypeScript type | Req. |
|---|---|---|
| operation | “sparkline_actions” | yes |
subsetId |
string | yes |
| mode | ContractSparklinePlanMode | yes |
| action | ContractSparklineAction | yes |
expectedRevision |
number | yes |
readOnly |
boolean | no |
| viewport | ViewportWindow | null | no |
Response on success · sparkline_actions
| Field | TypeScript type | Req. |
|---|---|---|
| operation | “sparkline_actions” | yes |
subsetId |
string | yes |
| mode | ContractSparklinePlanMode | yes |
| applied | boolean | yes |
| dirty | boolean | yes |
authoritativeRevision |
number | yes |
workbookHistory |
ContractWorkbookHistoryProjection | yes |
| projection | ContractSparklineProjectionEntry[] | yes |
activeSheet |
ContractActiveSheetMeta | yes |
| geometry | ContractGeometrySubset | yes |
| viewport | ViewportWindow | yes |
previewCells |
ContractPreviewCell[] | yes |
layoutMetrics |
ContractLayoutMetricsSubset | no |
Minimal JSON template
{ "operation": "sparkline_actions", "subsetId": "<subsetId>", "mode": "<ContractSparklinePlanMode>", "action": "<ContractSparklineAction>", "expectedRevision": 0}sparkline_history_replay
Section titled “sparkline_history_replay”Response on success · sparkline_history_replay
| Field | TypeScript type | Req. |
|---|---|---|
| operation | “sparkline_history_replay” | yes |
subsetId |
string | yes |
| direction | ContractWorkbookHistoryDirection | yes |
| dirty | boolean | yes |
workbookHistory |
ContractWorkbookHistoryProjection | yes |
| projection | ContractSparklineProjectionEntry[] | yes |
activeSheet |
ContractActiveSheetMeta | yes |
| geometry | ContractGeometrySubset | yes |
| viewport | ViewportWindow | yes |
previewCells |
ContractPreviewCell[] | yes |
layoutMetrics |
ContractLayoutMetricsSubset | no |
update_table_model
Section titled “update_table_model”Refreshes a table’s model.
Request
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "update_table_model" |
yes |
subsetId |
string | yes |
| table | ContractTableMetadataEntry | yes |
requestedBackend |
ComputeBackendKind | null | no |
Response on success · update_table_model
| Field | TypeScript type | Req. |
|---|---|---|
| operation | "update_table_model" |
yes |
subsetId |
string | yes |
stableId |
string | yes |
tableCount |
number | yes |
tableMetadata |
ContractTableMetadataProjection | yes |
workbookTableMetadata |
ContractTableMetadataProjection | yes |
Minimal JSON template
{ "operation": "update_table_model", "subsetId": "<subsetId>", "table": "<ContractTableMetadataEntry>", "requestedBackend": "native-desktop"}