changedInput schema / properties / definition / anyOf
Previous value: -[
- {
- "properties": {
- "dashboard_filters": {
- "properties": {
- "filters": {
- "items": {
- "properties": {
- "object": {
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- "op": {
- "enum": [
- "eq",
- "gte",
- "lte",
- "in_period"
- ],
- "type": "string"
- },
- "ref": {
- "oneOf": [
- {
- "properties": {
- "field": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "field",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "field"
- ],
- "type": "object"
- },
- {
- "properties": {
- "key": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "custom",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "key"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "related",
- "type": "string"
- },
- "path": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "path"
- ],
- "type": "object"
- }
- ]
- },
- "value": {
- "maxLength": 1000,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "ref",
- "value"
- ],
- "type": "object"
- },
- "maxItems": 6,
- "type": "array"
- },
- "period": {
- "properties": {
- "default": {
- "enum": [
- "today",
- "yesterday",
- "this_week",
- "last_7_days",
- "next_7_days",
- "last_30_days",
- "next_30_days",
- "last_90_days",
- "this_month",
- "last_month",
- "this_quarter",
- "this_year",
- "overdue",
- "upcoming"
- ],
- "type": "string"
- },
- "enabled": {
- "const": true,
- "type": "boolean"
- }
- },
- "required": [
- "enabled"
- ],
- "type": "object"
- }
- },
- "type": "object"
- },
- "kind": {
- "const": "composition",
- "type": "string"
- },
- "layout": {
- "properties": {
- "rows": {
- "items": {
- "properties": {
- "widgetIds": {
- "items": {
- "minLength": 1,
- "type": "string"
- },
- "minItems": 1,
- "type": "array"
- }
- },
- "required": [
- "widgetIds"
- ],
- "type": "object"
- },
- "type": "array"
- }
- },
- "required": [
- "rows"
- ],
- "type": "object"
- },
- "title": {
- "minLength": 1,
- "type": "string"
- },
- "version": {
- "const": 1,
- "type": "number"
- },
- "widgets": {
- "items": {
- "properties": {
- "id": {
- "minLength": 1,
- "type": "string"
- },
- "pin_window": {
- "type": "boolean"
- },
- "source_view_id": {
- "minLength": 1,
- "type": "string"
- },
- "spec": {
- "properties": {
- "aggregations": {
- "default": [],
- "items": {
- "properties": {
- "alias": {
- "minLength": 1,
- "type": "string"
- },
- "fn": {
- "enum": [
- "count",
- "count_distinct",
- "sum",
- "avg",
- "min",
- "max"
- ],
- "type": "string"
- },
- "ref": {
- "oneOf": [
- {
- "properties": {
- "field": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "field",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "field"
- ],
- "type": "object"
- },
- {
- "properties": {
- "key": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "custom",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "key"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "related",
- "type": "string"
- },
- "path": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "path"
- ],
- "type": "object"
- }
- ]
- },
- "where": {
- "items": {
- "properties": {
- "op": {
- "enum": [
- "eq",
- "neq",
- "gt",
- "gte",
- "lt",
- "lte",
- "contains",
- "starts_with",
- "in",
- "not_in",
- "has_any",
- "in_period",
- "is_null",
- "is_not_null"
- ],
- "type": "string"
- },
- "ref": {
- "oneOf": [
- {
- "properties": {
- "field": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "field",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "field"
- ],
- "type": "object"
- },
- {
- "properties": {
- "key": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "custom",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "key"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "related",
- "type": "string"
- },
- "path": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "path"
- ],
- "type": "object"
- }
- ]
- },
- "value": {}
- },
- "required": [
- "ref",
- "op"
- ],
- "type": "object"
- },
- "maxItems": 3,
- "type": "array"
- }
- },
- "required": [
- "fn",
- "alias"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "board_group": {
- "oneOf": [
- {
- "properties": {
- "field": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "field",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "field"
- ],
- "type": "object"
- },
- {
- "properties": {
- "key": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "custom",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "key"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "related",
- "type": "string"
- },
- "path": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "path"
- ],
- "type": "object"
- }
- ]
- },
- "columns": {
- "default": [],
- "items": {
- "oneOf": [
- {
- "properties": {
- "field": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "field",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "field"
- ],
- "type": "object"
- },
- {
- "properties": {
- "key": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "custom",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "key"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "related",
- "type": "string"
- },
- "path": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "path"
- ],
- "type": "object"
- }
- ]
- },
- "type": "array"
- },
- "compare": {
- "enum": [
- "previous_period"
- ],
- "type": "string"
- },
- "derived": {
- "items": {
- "properties": {
- "alias": {
- "minLength": 1,
- "type": "string"
- },
- "denominator": {
- "minLength": 1,
- "type": "string"
- },
- "format": {
- "enum": [
- "percent",
- "number"
- ],
- "type": "string"
- },
- "kind": {
- "const": "ratio",
- "type": "string"
- },
- "numerator": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "numerator",
- "denominator",
- "alias"
- ],
- "type": "object"
- },
- "maxItems": 3,
- "type": "array"
- },
- "filter_groups": {
- "items": {
- "properties": {
- "filters": {
- "items": {
- "properties": {
- "op": {
- "enum": [
- "eq",
- "neq",
- "gt",
- "gte",
- "lt",
- "lte",
- "contains",
- "starts_with",
- "in",
- "not_in",
- "has_any",
- "in_period",
- "is_null",
- "is_not_null"
- ],
- "type": "string"
- },
- "ref": {
- "oneOf": [
- {
- "properties": {
- "field": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "field",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "field"
- ],
- "type": "object"
- },
- {
- "properties": {
- "key": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "custom",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "key"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "related",
- "type": "string"
- },
- "path": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "path"
- ],
- "type": "object"
- }
- ]
- },
- "value": {}
- },
- "required": [
- "ref",
- "op"
- ],
- "type": "object"
- },
- "maxItems": 6,
- "minItems": 1,
- "type": "array"
- },
- "mode": {
- "enum": [
- "any",
- "none"
- ],
- "type": "string"
- }
- },
- "required": [
- "mode",
- "filters"
- ],
- "type": "object"
- },
- "maxItems": 4,
- "type": "array"
- },
- "filters": {
- "default": [],
- "items": {
- "properties": {
- "op": {
- "enum": [
- "eq",
- "neq",
- "gt",
- "gte",
- "lt",
- "lte",
- "contains",
- "starts_with",
- "in",
- "not_in",
- "has_any",
- "in_period",
- "is_null",
- "is_not_null"
- ],
- "type": "string"
- },
- "ref": {
- "oneOf": [
- {
- "properties": {
- "field": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "field",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "field"
- ],
- "type": "object"
- },
- {
- "properties": {
- "key": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "custom",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "key"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "related",
- "type": "string"
- },
- "path": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "path"
- ],
- "type": "object"
- }
- ]
- },
- "value": {}
- },
- "required": [
- "ref",
- "op"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "group_by": {
- "anyOf": [
- {
- "properties": {
- "bucket": {
- "enum": [
- "day",
- "week",
- "month",
- "quarter",
- "year"
- ],
- "type": "string"
- },
- "ref": {
- "oneOf": [
- {
- "properties": {
- "field": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "field",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "field"
- ],
- "type": "object"
- },
- {
- "properties": {
- "key": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "custom",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "key"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "related",
- "type": "string"
- },
- "path": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "path"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "ref"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "group_by_secondary": {
- "anyOf": [
- {
- "properties": {
- "bucket": {
- "enum": [
- "day",
- "week",
- "month",
- "quarter",
- "year"
- ],
- "type": "string"
- },
- "ref": {
- "oneOf": [
- {
- "properties": {
- "field": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "field",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "field"
- ],
- "type": "object"
- },
- {
- "properties": {
- "key": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "custom",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "key"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "related",
- "type": "string"
- },
- "path": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "path"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "ref"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "limit": {
- "default": 1000,
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- "object": {
- "minLength": 1,
- "type": "string"
- },
- "related_filters": {
- "items": {
- "properties": {
- "filters": {
- "default": [],
- "items": {
- "properties": {
- "op": {
- "enum": [
- "eq",
- "neq",
- "gt",
- "gte",
- "lt",
- "lte",
- "contains",
- "starts_with",
- "in",
- "not_in",
- "has_any",
- "in_period",
- "is_null",
- "is_not_null"
- ],
- "type": "string"
- },
- "ref": {
- "oneOf": [
- {
- "properties": {
- "field": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "field",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "field"
- ],
- "type": "object"
- },
- {
- "properties": {
- "key": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "custom",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "key"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "related",
- "type": "string"
- },
- "path": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "path"
- ],
- "type": "object"
- }
- ]
- },
- "value": {}
- },
- "required": [
- "ref",
- "op"
- ],
- "type": "object"
- },
- "maxItems": 5,
- "type": "array"
- },
- "mode": {
- "enum": [
- "with",
- "without"
- ],
- "type": "string"
- },
- "related": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "related",
- "mode"
- ],
- "type": "object"
- },
- "maxItems": 3,
- "type": "array"
- },
- "show_share": {
- "type": "boolean"
- },
- "sort": {
- "anyOf": [
- {
- "properties": {
- "dir": {
- "enum": [
- "asc",
- "desc"
- ],
- "type": "string"
- },
- "ref": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "ref",
- "dir"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "version": {
- "const": 1,
- "type": "number"
- },
- "viz": {
- "enum": [
- "table",
- "bar",
- "stat",
- "trend",
- "donut",
- "board",
- "matrix",
- "funnel",
- "column",
- "area"
- ],
- "type": "string"
- }
- },
- "required": [
- "version",
- "object"
- ],
- "type": "object"
- },
- "title": {
- "minLength": 1,
- "type": "string"
- },
- "viz": {
- "enum": [
- "table",
- "bar",
- "stat",
- "trend",
- "donut",
- "board",
- "matrix",
- "funnel",
- "column",
- "area"
- ],
- "type": "string"
- },
- "width": {
- "anyOf": [
- {
- "const": 2,
- "type": "number"
- },
- {
- "const": 3,
- "type": "number"
- },
- {
- "const": 4,
- "type": "number"
- },
- {
- "const": 6,
- "type": "number"
- }
- ]
- }
- },
- "required": [
- "id",
- "title"
- ],
- "type": "object"
- },
- "type": "array"
- }
- },
- "required": [
- "version",
- "kind",
- "layout",
- "widgets"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "segment",
- "type": "string"
- },
- "object": {
- "minLength": 1,
- "type": "string"
- },
- "state": {
- "properties": {
- "conds": {
- "items": {
- "properties": {
- "fieldKey": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "op": {
- "enum": [
- "contains",
- "eq",
- "is_null",
- "gte",
- "lt",
- "between",
- "in_next",
- "in_last",
- "overdue",
- "in",
- "not_in"
- ],
- "type": "string"
- },
- "value": {
- "anyOf": [
- {
- "maxLength": 120,
- "type": "string"
- },
- {
- "items": {
- "maxLength": 120,
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- }
- ]
- }
- },
- "required": [
- "fieldKey",
- "op"
- ],
- "type": "object"
- },
- "maxItems": 8,
- "type": "array"
- },
- "filters": {
- "additionalProperties": {
- "maxLength": 120,
- "minLength": 1,
- "type": "string"
- },
- "propertyNames": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "type": "object"
- },
- "match": {
- "enum": [
- "all",
- "any"
- ],
- "type": "string"
- },
- "q": {
- "maxLength": 200,
- "minLength": 1,
- "type": "string"
- },
- "seg": {
- "maxLength": 64,
- "minLength": 1,
- "type": "string"
- },
- "sort": {
- "maxLength": 64,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
- },
- "version": {
- "const": 1,
- "type": "number"
- }
- },
- "required": [
- "version",
- "kind",
- "object",
- "state"
- ],
- "type": "object"
- },
- {
- "properties": {
- "aggregations": {
- "default": [],
- "items": {
- "properties": {
- "alias": {
- "minLength": 1,
- "type": "string"
- },
- "fn": {
- "enum": [
- "count",
- "count_distinct",
- "sum",
- "avg",
- "min",
- "max"
- ],
- "type": "string"
- },
- "ref": {
- "oneOf": [
- {
- "properties": {
- "field": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "field",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "field"
- ],
- "type": "object"
- },
- {
- "properties": {
- "key": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "custom",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "key"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "related",
- "type": "string"
- },
- "path": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "path"
- ],
- "type": "object"
- }
- ]
- },
- "where": {
- "items": {
- "properties": {
- "op": {
- "enum": [
- "eq",
- "neq",
- "gt",
- "gte",
- "lt",
- "lte",
- "contains",
- "starts_with",
- "in",
- "not_in",
- "has_any",
- "in_period",
- "is_null",
- "is_not_null"
- ],
- "type": "string"
- },
- "ref": {
- "oneOf": [
- {
- "properties": {
- "field": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "field",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "field"
- ],
- "type": "object"
- },
- {
- "properties": {
- "key": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "custom",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "key"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "related",
- "type": "string"
- },
- "path": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "path"
- ],
- "type": "object"
- }
- ]
- },
- "value": {}
- },
- "required": [
- "ref",
- "op"
- ],
- "type": "object"
- },
- "maxItems": 3,
- "type": "array"
- }
- },
- "required": [
- "fn",
- "alias"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "board_group": {
- "oneOf": [
- {
- "properties": {
- "field": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "field",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "field"
- ],
- "type": "object"
- },
- {
- "properties": {
- "key": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "custom",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "key"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "related",
- "type": "string"
- },
- "path": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "path"
- ],
- "type": "object"
- }
- ]
- },
- "columns": {
- "default": [],
- "items": {
- "oneOf": [
- {
- "properties": {
- "field": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "field",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "field"
- ],
- "type": "object"
- },
- {
- "properties": {
- "key": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "custom",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "key"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "related",
- "type": "string"
- },
- "path": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "path"
- ],
- "type": "object"
- }
- ]
- },
- "type": "array"
- },
- "compare": {
- "enum": [
- "previous_period"
- ],
- "type": "string"
- },
- "derived": {
- "items": {
- "properties": {
- "alias": {
- "minLength": 1,
- "type": "string"
- },
- "denominator": {
- "minLength": 1,
- "type": "string"
- },
- "format": {
- "enum": [
- "percent",
- "number"
- ],
- "type": "string"
- },
- "kind": {
- "const": "ratio",
- "type": "string"
- },
- "numerator": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "numerator",
- "denominator",
- "alias"
- ],
- "type": "object"
- },
- "maxItems": 3,
- "type": "array"
- },
- "filter_groups": {
- "items": {
- "properties": {
- "filters": {
- "items": {
- "properties": {
- "op": {
- "enum": [
- "eq",
- "neq",
- "gt",
- "gte",
- "lt",
- "lte",
- "contains",
- "starts_with",
- "in",
- "not_in",
- "has_any",
- "in_period",
- "is_null",
- "is_not_null"
- ],
- "type": "string"
- },
- "ref": {
- "oneOf": [
- {
- "properties": {
- "field": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "field",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "field"
- ],
- "type": "object"
- },
- {
- "properties": {
- "key": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "custom",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "key"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "related",
- "type": "string"
- },
- "path": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "path"
- ],
- "type": "object"
- }
- ]
- },
- "value": {}
- },
- "required": [
- "ref",
- "op"
- ],
- "type": "object"
- },
- "maxItems": 6,
- "minItems": 1,
- "type": "array"
- },
- "mode": {
- "enum": [
- "any",
- "none"
- ],
- "type": "string"
- }
- },
- "required": [
- "mode",
- "filters"
- ],
- "type": "object"
- },
- "maxItems": 4,
- "type": "array"
- },
- "filters": {
- "default": [],
- "items": {
- "properties": {
- "op": {
- "enum": [
- "eq",
- "neq",
- "gt",
- "gte",
- "lt",
- "lte",
- "contains",
- "starts_with",
- "in",
- "not_in",
- "has_any",
- "in_period",
- "is_null",
- "is_not_null"
- ],
- "type": "string"
- },
- "ref": {
- "oneOf": [
- {
- "properties": {
- "field": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "field",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "field"
- ],
- "type": "object"
- },
- {
- "properties": {
- "key": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "custom",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "key"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "related",
- "type": "string"
- },
- "path": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "path"
- ],
- "type": "object"
- }
- ]
- },
- "value": {}
- },
- "required": [
- "ref",
- "op"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "group_by": {
- "anyOf": [
- {
- "properties": {
- "bucket": {
- "enum": [
- "day",
- "week",
- "month",
- "quarter",
- "year"
- ],
- "type": "string"
- },
- "ref": {
- "oneOf": [
- {
- "properties": {
- "field": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "field",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "field"
- ],
- "type": "object"
- },
- {
- "properties": {
- "key": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "custom",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "key"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "related",
- "type": "string"
- },
- "path": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "path"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "ref"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "group_by_secondary": {
- "anyOf": [
- {
- "properties": {
- "bucket": {
- "enum": [
- "day",
- "week",
- "month",
- "quarter",
- "year"
- ],
- "type": "string"
- },
- "ref": {
- "oneOf": [
- {
- "properties": {
- "field": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "field",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "field"
- ],
- "type": "object"
- },
- {
- "properties": {
- "key": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "custom",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "key"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "related",
- "type": "string"
- },
- "path": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "path"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "ref"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "limit": {
- "default": 1000,
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- "object": {
- "minLength": 1,
- "type": "string"
- },
- "related_filters": {
- "items": {
- "properties": {
- "filters": {
- "default": [],
- "items": {
- "properties": {
- "op": {
- "enum": [
- "eq",
- "neq",
- "gt",
- "gte",
- "lt",
- "lte",
- "contains",
- "starts_with",
- "in",
- "not_in",
- "has_any",
- "in_period",
- "is_null",
- "is_not_null"
- ],
- "type": "string"
- },
- "ref": {
- "oneOf": [
- {
- "properties": {
- "field": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "field",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "field"
- ],
- "type": "object"
- },
- {
- "properties": {
- "key": {
- "minLength": 1,
- "type": "string"
- },
- "kind": {
- "const": "custom",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "key"
- ],
- "type": "object"
- },
- {
- "properties": {
- "kind": {
- "const": "related",
- "type": "string"
- },
- "path": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "kind",
- "path"
- ],
- "type": "object"
- }
- ]
- },
- "value": {}
- },
- "required": [
- "ref",
- "op"
- ],
- "type": "object"
- },
- "maxItems": 5,
- "type": "array"
- },
- "mode": {
- "enum": [
- "with",
- "without"
- ],
- "type": "string"
- },
- "related": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "related",
- "mode"
- ],
- "type": "object"
- },
- "maxItems": 3,
- "type": "array"
- },
- "show_share": {
- "type": "boolean"
- },
- "sort": {
- "anyOf": [
- {
- "properties": {
- "dir": {
- "enum": [
- "asc",
- "desc"
- ],
- "type": "string"
- },
- "ref": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "ref",
- "dir"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "version": {
- "const": 1,
- "type": "number"
- },
- "viz": {
- "enum": [
- "table",
- "bar",
- "stat",
- "trend",
- "donut",
- "board",
- "matrix",
- "funnel",
- "column",
- "area"
- ],
- "type": "string"
- }
- },
- "required": [
- "version",
- "object"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "properties": {
+ "dashboard_filters": {
+ "properties": {
+ "filters": {
+ "items": {
+ "properties": {
+ "object": {
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "op": {
+ "enum": [
+ "eq",
+ "gte",
+ "lte",
+ "in_period"
+ ],
+ "type": "string"
+ },
+ "ref": {
+ "oneOf": [
+ {
+ "properties": {
+ "field": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "field",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "key": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "custom",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "key"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "kind": {
+ "const": "related",
+ "type": "string"
+ },
+ "path": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "path"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "value": {
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "ref",
+ "value"
+ ],
+ "type": "object"
+ },
+ "maxItems": 6,
+ "type": "array"
+ },
+ "period": {
+ "properties": {
+ "default": {
+ "enum": [
+ "today",
+ "yesterday",
+ "this_week",
+ "last_7_days",
+ "next_7_days",
+ "last_30_days",
+ "next_30_days",
+ "last_90_days",
+ "this_month",
+ "last_month",
+ "this_quarter",
+ "this_year",
+ "overdue",
+ "upcoming"
+ ],
+ "type": "string"
+ },
+ "enabled": {
+ "const": true,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "kind": {
+ "const": "composition",
+ "type": "string"
+ },
+ "layout": {
+ "properties": {
+ "rows": {
+ "items": {
+ "properties": {
+ "widgetIds": {
+ "items": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "widgetIds"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "rows"
+ ],
+ "type": "object"
+ },
+ "title": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "version": {
+ "const": 1,
+ "type": "number"
+ },
+ "widgets": {
+ "items": {
+ "properties": {
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "pin_window": {
+ "type": "boolean"
+ },
+ "source_view_id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "spec": {
+ "description": "Inline ReportSpec for this panel — the same shape as the ReportSpec variant of this definition."
+ },
+ "title": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "viz": {
+ "enum": [
+ "table",
+ "bar",
+ "stat",
+ "trend",
+ "donut",
+ "board",
+ "matrix",
+ "funnel",
+ "column",
+ "area"
+ ],
+ "type": "string"
+ },
+ "width": {
+ "anyOf": [
+ {
+ "const": 2,
+ "type": "number"
+ },
+ {
+ "const": 3,
+ "type": "number"
+ },
+ {
+ "const": 4,
+ "type": "number"
+ },
+ {
+ "const": 6,
+ "type": "number"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "title"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "version",
+ "kind",
+ "layout",
+ "widgets"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "kind": {
+ "const": "segment",
+ "type": "string"
+ },
+ "object": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "state": {
+ "properties": {
+ "conds": {
+ "items": {
+ "properties": {
+ "fieldKey": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "op": {
+ "enum": [
+ "contains",
+ "eq",
+ "is_null",
+ "gte",
+ "lt",
+ "between",
+ "in_next",
+ "in_last",
+ "overdue",
+ "in",
+ "not_in"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "anyOf": [
+ {
+ "maxLength": 120,
+ "type": "string"
+ },
+ {
+ "items": {
+ "maxLength": 120,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ }
+ ]
+ }
+ },
+ "required": [
+ "fieldKey",
+ "op"
+ ],
+ "type": "object"
+ },
+ "maxItems": 8,
+ "type": "array"
+ },
+ "filters": {
+ "additionalProperties": {
+ "maxLength": 120,
+ "minLength": 1,
+ "type": "string"
+ },
+ "propertyNames": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "match": {
+ "enum": [
+ "all",
+ "any"
+ ],
+ "type": "string"
+ },
+ "q": {
+ "maxLength": 200,
+ "minLength": 1,
+ "type": "string"
+ },
+ "seg": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "sort": {
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "version": {
+ "const": 1,
+ "type": "number"
+ }
+ },
+ "required": [
+ "version",
+ "kind",
+ "object",
+ "state"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "aggregations": {
+ "default": [],
+ "items": {
+ "properties": {
+ "alias": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "fn": {
+ "enum": [
+ "count",
+ "count_distinct",
+ "sum",
+ "avg",
+ "min",
+ "max"
+ ],
+ "type": "string"
+ },
+ "ref": {
+ "oneOf": [
+ {
+ "properties": {
+ "field": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "field",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "key": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "custom",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "key"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "kind": {
+ "const": "related",
+ "type": "string"
+ },
+ "path": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "path"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "where": {
+ "items": {
+ "properties": {
+ "op": {
+ "enum": [
+ "eq",
+ "neq",
+ "gt",
+ "gte",
+ "lt",
+ "lte",
+ "contains",
+ "starts_with",
+ "in",
+ "not_in",
+ "has_any",
+ "in_period",
+ "is_null",
+ "is_not_null"
+ ],
+ "type": "string"
+ },
+ "ref": {
+ "oneOf": [
+ {
+ "properties": {
+ "field": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "field",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "key": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "custom",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "key"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "kind": {
+ "const": "related",
+ "type": "string"
+ },
+ "path": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "path"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "value": {}
+ },
+ "required": [
+ "ref",
+ "op"
+ ],
+ "type": "object"
+ },
+ "maxItems": 3,
+ "type": "array"
+ }
+ },
+ "required": [
+ "fn",
+ "alias"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "board_group": {
+ "oneOf": [
+ {
+ "properties": {
+ "field": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "field",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "key": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "custom",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "key"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "kind": {
+ "const": "related",
+ "type": "string"
+ },
+ "path": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "path"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "columns": {
+ "default": [],
+ "items": {
+ "oneOf": [
+ {
+ "properties": {
+ "field": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "field",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "key": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "custom",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "key"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "kind": {
+ "const": "related",
+ "type": "string"
+ },
+ "path": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "path"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "compare": {
+ "enum": [
+ "previous_period"
+ ],
+ "type": "string"
+ },
+ "derived": {
+ "items": {
+ "properties": {
+ "alias": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "denominator": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "format": {
+ "enum": [
+ "percent",
+ "number"
+ ],
+ "type": "string"
+ },
+ "kind": {
+ "const": "ratio",
+ "type": "string"
+ },
+ "numerator": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "numerator",
+ "denominator",
+ "alias"
+ ],
+ "type": "object"
+ },
+ "maxItems": 3,
+ "type": "array"
+ },
+ "filter_groups": {
+ "items": {
+ "properties": {
+ "filters": {
+ "items": {
+ "properties": {
+ "op": {
+ "enum": [
+ "eq",
+ "neq",
+ "gt",
+ "gte",
+ "lt",
+ "lte",
+ "contains",
+ "starts_with",
+ "in",
+ "not_in",
+ "has_any",
+ "in_period",
+ "is_null",
+ "is_not_null"
+ ],
+ "type": "string"
+ },
+ "ref": {
+ "oneOf": [
+ {
+ "properties": {
+ "field": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "field",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "key": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "custom",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "key"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "kind": {
+ "const": "related",
+ "type": "string"
+ },
+ "path": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "path"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "value": {}
+ },
+ "required": [
+ "ref",
+ "op"
+ ],
+ "type": "object"
+ },
+ "maxItems": 6,
+ "minItems": 1,
+ "type": "array"
+ },
+ "mode": {
+ "enum": [
+ "any",
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "mode",
+ "filters"
+ ],
+ "type": "object"
+ },
+ "maxItems": 4,
+ "type": "array"
+ },
+ "filters": {
+ "default": [],
+ "items": {
+ "properties": {
+ "op": {
+ "enum": [
+ "eq",
+ "neq",
+ "gt",
+ "gte",
+ "lt",
+ "lte",
+ "contains",
+ "starts_with",
+ "in",
+ "not_in",
+ "has_any",
+ "in_period",
+ "is_null",
+ "is_not_null"
+ ],
+ "type": "string"
+ },
+ "ref": {
+ "oneOf": [
+ {
+ "properties": {
+ "field": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "field",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "key": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "custom",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "key"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "kind": {
+ "const": "related",
+ "type": "string"
+ },
+ "path": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "path"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "value": {}
+ },
+ "required": [
+ "ref",
+ "op"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "group_by": {
+ "anyOf": [
+ {
+ "properties": {
+ "bucket": {
+ "enum": [
+ "day",
+ "week",
+ "month",
+ "quarter",
+ "year"
+ ],
+ "type": "string"
+ },
+ "ref": {
+ "oneOf": [
+ {
+ "properties": {
+ "field": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "field",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "key": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "custom",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "key"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "kind": {
+ "const": "related",
+ "type": "string"
+ },
+ "path": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "path"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "ref"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "group_by_secondary": {
+ "anyOf": [
+ {
+ "properties": {
+ "bucket": {
+ "enum": [
+ "day",
+ "week",
+ "month",
+ "quarter",
+ "year"
+ ],
+ "type": "string"
+ },
+ "ref": {
+ "oneOf": [
+ {
+ "properties": {
+ "field": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "field",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "key": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "custom",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "key"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "kind": {
+ "const": "related",
+ "type": "string"
+ },
+ "path": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "path"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "ref"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "limit": {
+ "default": 1000,
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "object": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "related_filters": {
+ "items": {
+ "properties": {
+ "filters": {
+ "default": [],
+ "items": {
+ "properties": {
+ "op": {
+ "enum": [
+ "eq",
+ "neq",
+ "gt",
+ "gte",
+ "lt",
+ "lte",
+ "contains",
+ "starts_with",
+ "in",
+ "not_in",
+ "has_any",
+ "in_period",
+ "is_null",
+ "is_not_null"
+ ],
+ "type": "string"
+ },
+ "ref": {
+ "oneOf": [
+ {
+ "properties": {
+ "field": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "field",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "field"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "key": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "kind": {
+ "const": "custom",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "key"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "kind": {
+ "const": "related",
+ "type": "string"
+ },
+ "path": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "path"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "value": {}
+ },
+ "required": [
+ "ref",
+ "op"
+ ],
+ "type": "object"
+ },
+ "maxItems": 5,
+ "type": "array"
+ },
+ "mode": {
+ "enum": [
+ "with",
+ "without"
+ ],
+ "type": "string"
+ },
+ "related": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "related",
+ "mode"
+ ],
+ "type": "object"
+ },
+ "maxItems": 3,
+ "type": "array"
+ },
+ "show_share": {
+ "type": "boolean"
+ },
+ "sort": {
+ "anyOf": [
+ {
+ "properties": {
+ "dir": {
+ "enum": [
+ "asc",
+ "desc"
+ ],
+ "type": "string"
+ },
+ "ref": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "ref",
+ "dir"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "version": {
+ "const": 1,
+ "type": "number"
+ },
+ "viz": {
+ "enum": [
+ "table",
+ "bar",
+ "stat",
+ "trend",
+ "donut",
+ "board",
+ "matrix",
+ "funnel",
+ "column",
+ "area"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "version",
+ "object"
+ ],
+ "type": "object"
+ }
+]