changedInput schema / properties / appendData / oneOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "fields": {
- "description": "Array of field definitions to append",
- "items": {
- "additionalProperties": false,
- "properties": {
- "defaultValue": {
- "description": "Default value for the field"
- },
- "name": {
- "description": "Field name",
- "type": "string"
- },
- "required": {
- "description": "Whether field is required",
- "type": "boolean"
- },
- "type": {
- "description": "Field type (e.g., 'String', 'int', 'double')",
- "type": "string"
- }
- },
- "required": [
- "name",
- "type"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "tableType": {
- "const": "Datatype",
- "type": "string"
- }
- },
- "required": [
- "tableType",
- "fields"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "rules": {
- "description": "Array of rule objects to append. Each rule is a map with condition and action columns.",
- "items": {
- "additionalProperties": {},
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "type": "array"
- },
- "tableType": {
- "const": "SimpleRules",
- "type": "string"
- }
- },
- "required": [
- "tableType",
- "rules"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "steps": {
- "description": "Array of spreadsheet step objects to append",
- "items": {},
- "type": "array"
- },
- "tableType": {
- "const": "SimpleSpreadsheet",
- "type": "string"
- }
- },
- "required": [
- "tableType",
- "steps"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "rules": {
- "description": "Array of rule objects to append. Each rule is a map with condition and action columns.",
- "items": {
- "additionalProperties": {},
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "type": "array"
- },
- "tableType": {
- "const": "SmartRules",
- "type": "string"
- }
- },
- "required": [
- "tableType",
- "rules"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "tableType": {
- "const": "Vocabulary",
- "type": "string"
- },
- "values": {
- "description": "Array of vocabulary value objects to append",
- "items": {},
- "type": "array"
- }
- },
- "required": [
- "tableType",
- "values"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "rows": {
- "description": "Array of rows to append; each row is an array of cell objects (e.g. { value: string, colspan?: number } or { covered?: boolean })",
- "items": {
- "items": {
- "additionalProperties": {},
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "type": "array"
- },
- "type": "array"
- },
- "tableType": {
- "const": "RawSource",
- "type": "string"
- }
- },
- "required": [
- "tableType",
- "rows"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "fields": {
+ "description": "Array of field definitions to append",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "defaultValue": {
+ "description": "Default value for the field"
+ },
+ "name": {
+ "description": "Field name",
+ "type": "string"
+ },
+ "required": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "string"
+ }
+ ],
+ "description": "Whether the field is required (backend field is a String; a boolean is accepted and coerced)."
+ },
+ "type": {
+ "description": "Field type (e.g., 'String', 'int', 'double')",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "tableType": {
+ "const": "Datatype",
+ "type": "string"
+ }
+ },
+ "required": [
+ "tableType",
+ "fields"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "rules": {
+ "description": "Array of rule objects to append. Each rule is a map with condition and action columns.",
+ "items": {
+ "additionalProperties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "tableType": {
+ "const": "SimpleRules",
+ "type": "string"
+ }
+ },
+ "required": [
+ "tableType",
+ "rules"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "steps": {
+ "description": "Array of spreadsheet steps to append: [{ name, type?, value }].",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "description": "Step name (referenced elsewhere as $StepName).",
+ "type": "string"
+ },
+ "type": {
+ "description": "Step result type, e.g. 'Double'.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The step's formula or value, e.g. '= app.annualIncome / 12'. NOT 'formula'."
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "tableType": {
+ "const": "SimpleSpreadsheet",
+ "type": "string"
+ }
+ },
+ "required": [
+ "tableType",
+ "steps"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "cells": {
+ "description": "Required. Cells to append as a non-empty 2D array — one inner array (the row's cells across the columns) per appended row: [[{ value }]]. The formula/value goes in each cell's 'value'.",
+ "items": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "value": {}
+ },
+ "required": [
+ "value"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "rows": {
+ "description": "Optional spreadsheet row headers to append: [{ name, type? }] — when provided, one per appended row (must align 1:1 with 'cells').",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "description": "Row name (referenced elsewhere as $RowName).",
+ "type": "string"
+ },
+ "type": {
+ "description": "Row result type, e.g. 'Double', 'String'.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "tableType": {
+ "const": "Spreadsheet",
+ "type": "string"
+ }
+ },
+ "required": [
+ "tableType",
+ "cells"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "rules": {
+ "description": "Array of rule objects to append. Each rule is a map with condition and action columns.",
+ "items": {
+ "additionalProperties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "tableType": {
+ "const": "SmartRules",
+ "type": "string"
+ }
+ },
+ "required": [
+ "tableType",
+ "rules"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "tableType": {
+ "const": "Vocabulary",
+ "type": "string"
+ },
+ "values": {
+ "description": "Array of vocabulary values to append: [{ value }].",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "value": {}
+ },
+ "required": [
+ "value"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "tableType",
+ "values"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "rows": {
+ "description": "Array of lookup rows to append; each row is a map keyed by the table's columns.",
+ "items": {
+ "additionalProperties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "tableType": {
+ "const": "SimpleLookup",
+ "type": "string"
+ }
+ },
+ "required": [
+ "tableType",
+ "rows"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "rows": {
+ "description": "Array of lookup rows to append; each row is a map keyed by the table's columns.",
+ "items": {
+ "additionalProperties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "tableType": {
+ "const": "SmartLookup",
+ "type": "string"
+ }
+ },
+ "required": [
+ "tableType",
+ "rows"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "rows": {
+ "description": "Array of data rows to append: [{ values: [...] }] (one value per column).",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "values": {
+ "items": {},
+ "type": "array"
+ }
+ },
+ "required": [
+ "values"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "tableType": {
+ "const": "Data",
+ "type": "string"
+ }
+ },
+ "required": [
+ "tableType",
+ "rows"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "rows": {
+ "description": "Array of test cases to append: [{ values: [...] }] (one value per header column).",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "values": {
+ "items": {},
+ "type": "array"
+ }
+ },
+ "required": [
+ "values"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "tableType": {
+ "const": "Test",
+ "type": "string"
+ }
+ },
+ "required": [
+ "tableType",
+ "rows"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "rows": {
+ "description": "Array of rows to append; each row is an array of cell objects (e.g. { value: string, colspan?: number } or { covered?: boolean }). Each row must cover ALL columns of the table (read it back with openl_get_table(raw=true) to see the width) — use { value: \"\" } for intentionally blank cells; a row narrower than the table is rejected before anything is written.",
+ "items": {
+ "items": {
+ "additionalProperties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "type": "array"
+ },
+ "tableType": {
+ "const": "RawSource",
+ "type": "string"
+ }
+ },
+ "required": [
+ "tableType",
+ "rows"
+ ],
+ "type": "object"
+ }
+]