{
  "openapi": "3.0.0",
  "info": {
    "title": "mprove backend",
    "description": "",
    "version": "12.0.20",
    "contact": {}
  },
  "paths": {
    "/api/ToBackendGetExplorerChartTab": {
      "post": {
        "operationId": "GetExplorerChartTabController",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ToBackendGetExplorerChartTabRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ToBackendGetExplorerChartTabResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ToBackendGetExplorerChartTabRequest": {
        "type": "object",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/ToBackendGetExplorerChartTabRequestInfo"
          },
          "payload": {
            "$ref": "#/components/schemas/ToBackendGetExplorerChartTabRequestPayload"
          }
        },
        "required": [
          "info",
          "payload"
        ]
      },
      "ToBackendGetExplorerChartTabResponse": {
        "type": "object",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/ToBackendGetExplorerChartTabResponseInfo"
          },
          "payload": {
            "$ref": "#/components/schemas/ToBackendGetExplorerChartTabResponsePayload"
          }
        },
        "required": [
          "info",
          "payload"
        ]
      },
      "ToBackendGetExplorerChartTabRequestInfo": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "enum": [
              "api/ToBackendGetExplorerChartTab"
            ]
          },
          "traceId": {
            "type": "string"
          },
          "idempotencyKey": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "traceId",
          "idempotencyKey"
        ]
      },
      "ToBackendGetExplorerChartTabRequestPayload": {
        "type": "object",
        "properties": {
          "sessionId": {
            "type": "string"
          },
          "chartId": {
            "type": "string"
          }
        },
        "required": [
          "sessionId",
          "chartId"
        ]
      },
      "ToBackendGetExplorerChartTabResponseInfo": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "enum": [
              "/api/ToBackendGetExplorerChartTab"
            ]
          },
          "method": {
            "type": "string",
            "enum": [
              "POST"
            ]
          },
          "mproveVersion": {
            "type": "string",
            "nullable": true
          },
          "duration": {
            "type": "number",
            "nullable": true
          },
          "status": {
            "type": "string",
            "enum": [
              "Ok",
              "Error"
            ]
          },
          "traceId": {
            "type": "string"
          },
          "error": {
            "nullable": true
          }
        },
        "required": [
          "path",
          "method",
          "status",
          "traceId"
        ]
      },
      "ToBackendGetExplorerChartTabResponsePayload": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "ok"
                ]
              },
              "chart": {
                "$ref": "#/components/schemas/ChartX"
              },
              "mconfig": {
                "$ref": "#/components/schemas/MconfigX"
              },
              "query": {
                "$ref": "#/components/schemas/Query"
              }
            },
            "required": [
              "status",
              "chart",
              "mconfig",
              "query"
            ]
          },
          {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "error"
                ]
              },
              "errors": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BmlError"
                }
              }
            },
            "required": [
              "status",
              "errors"
            ]
          }
        ]
      },
      "ChartX": {
        "type": "object",
        "properties": {
          "structId": {
            "type": "string"
          },
          "chartId": {
            "type": "string"
          },
          "draft": {
            "type": "boolean"
          },
          "isExplorer": {
            "type": "boolean",
            "nullable": true
          },
          "sessionId": {
            "type": "string",
            "nullable": true
          },
          "chartYaml": {
            "type": "string",
            "nullable": true
          },
          "creatorId": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "modelId": {
            "type": "string"
          },
          "modelLabel": {
            "type": "string"
          },
          "filePath": {
            "type": "string"
          },
          "tiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TileX"
            }
          },
          "serverTs": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "author": {
            "type": "string"
          },
          "canEditOrDeleteChart": {
            "type": "boolean"
          },
          "chartType": {
            "type": "string",
            "enum": [
              "table",
              "line",
              "bar",
              "scatter",
              "pie",
              "single"
            ]
          },
          "iconPath": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "structId",
          "chartId",
          "draft",
          "creatorId",
          "title",
          "modelId",
          "modelLabel",
          "filePath",
          "tiles",
          "serverTs",
          "author",
          "canEditOrDeleteChart",
          "chartType"
        ]
      },
      "MconfigX": {
        "type": "object",
        "properties": {
          "structId": {
            "type": "string"
          },
          "mconfigId": {
            "type": "string"
          },
          "queryId": {
            "type": "string"
          },
          "modelId": {
            "type": "string"
          },
          "modelType": {
            "type": "string",
            "enum": [
              "Store",
              "Malloy"
            ]
          },
          "parentType": {
            "type": "string",
            "enum": [
              "Dashboard",
              "ChartDialogDashboard",
              "SuggestDimensionDashboard",
              "Report",
              "ChartDialogReport",
              "SuggestDimensionReport",
              "Chart",
              "SuggestDimensionChart",
              "SuggestDimensionModel",
              "Blank"
            ]
          },
          "parentId": {
            "type": "string",
            "nullable": true
          },
          "dateRangeIncludesRightSide": {
            "type": "boolean",
            "nullable": true
          },
          "storePart": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StorePart"
              }
            ],
            "nullable": true
          },
          "modelLabel": {
            "type": "string"
          },
          "modelFilePath": {
            "type": "string",
            "nullable": true
          },
          "malloyQueryStable": {
            "type": "string",
            "nullable": true
          },
          "malloyQueryExtra": {
            "type": "string",
            "nullable": true
          },
          "compiledQuery": {},
          "select": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sortings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Sorting"
            }
          },
          "sorts": {
            "type": "string",
            "nullable": true
          },
          "timezone": {
            "type": "string"
          },
          "limit": {
            "type": "number"
          },
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Filter"
            }
          },
          "appliedGivens": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "anyOf": [
                {
                  "anyOf": [
                    {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "boolean"
                        }
                      ]
                    },
                    {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "boolean"
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "defaultText": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "defaultText"
                  ]
                }
              ]
            },
            "nullable": true
          },
          "chart": {
            "$ref": "#/components/schemas/MconfigChart"
          },
          "serverTs": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MconfigField"
            }
          },
          "extendedFilters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterX"
            }
          }
        },
        "required": [
          "structId",
          "mconfigId",
          "queryId",
          "modelId",
          "modelType",
          "parentType",
          "modelLabel",
          "compiledQuery",
          "select",
          "sortings",
          "timezone",
          "limit",
          "filters",
          "chart",
          "serverTs",
          "fields",
          "extendedFilters"
        ]
      },
      "Query": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          },
          "envId": {
            "type": "string"
          },
          "connectionId": {
            "type": "string"
          },
          "connectionType": {
            "type": "string",
            "enum": [
              "PostgreSQL",
              "MySQL",
              "SnowFlake",
              "BigQuery",
              "Databricks",
              "MotherDuck",
              "Presto",
              "Trino",
              "GoogleApi",
              "Api"
            ]
          },
          "queryId": {
            "type": "string"
          },
          "reportId": {
            "type": "string",
            "nullable": true
          },
          "reportStructId": {
            "type": "string",
            "nullable": true
          },
          "sql": {
            "type": "string",
            "nullable": true
          },
          "apiMethod": {
            "type": "string",
            "enum": [
              "POST",
              "GET"
            ],
            "nullable": true
          },
          "apiUrl": {
            "type": "string",
            "nullable": true
          },
          "apiBody": {},
          "status": {
            "type": "string",
            "enum": [
              "New",
              "Running",
              "Canceled",
              "Completed",
              "Error"
            ]
          },
          "data": {
            "nullable": true
          },
          "lastRunBy": {
            "type": "string",
            "nullable": true
          },
          "lastRunTs": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "nullable": true
          },
          "lastCancelTs": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "nullable": true
          },
          "lastCompleteTs": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "nullable": true
          },
          "lastCompleteDuration": {
            "type": "number",
            "nullable": true
          },
          "lastErrorMessage": {
            "type": "string",
            "nullable": true
          },
          "lastErrorTs": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "nullable": true
          },
          "queryJobId": {
            "type": "string",
            "nullable": true
          },
          "bigqueryQueryJobId": {
            "type": "string",
            "nullable": true
          },
          "bigqueryConsecutiveErrorsGetJob": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "bigqueryConsecutiveErrorsGetResults": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "serverTs": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "projectId",
          "envId",
          "connectionId",
          "connectionType",
          "queryId",
          "apiBody",
          "status",
          "bigqueryConsecutiveErrorsGetJob",
          "bigqueryConsecutiveErrorsGetResults",
          "serverTs"
        ]
      },
      "BmlError": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiskFileLine"
            }
          }
        },
        "required": [
          "title",
          "message",
          "lines"
        ]
      },
      "TileX": {
        "type": "object",
        "properties": {
          "modelId": {
            "type": "string"
          },
          "modelLabel": {
            "type": "string"
          },
          "modelFilePath": {
            "type": "string"
          },
          "mconfigId": {
            "type": "string"
          },
          "queryId": {
            "type": "string"
          },
          "trackChangeId": {
            "type": "string"
          },
          "listen": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "string"
            }
          },
          "deletedFilterFieldIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "title": {
            "type": "string"
          },
          "plateWidth": {
            "type": "number"
          },
          "plateHeight": {
            "type": "number"
          },
          "plateX": {
            "type": "number"
          },
          "plateY": {
            "type": "number"
          },
          "mconfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MconfigX"
              }
            ],
            "nullable": true
          },
          "query": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Query"
              }
            ],
            "nullable": true
          },
          "hasAccessToModel": {
            "type": "boolean"
          }
        },
        "required": [
          "modelId",
          "modelLabel",
          "modelFilePath",
          "mconfigId",
          "queryId",
          "trackChangeId",
          "listen",
          "title",
          "plateWidth",
          "plateHeight",
          "plateX",
          "plateY",
          "hasAccessToModel"
        ]
      },
      "StorePart": {
        "type": "object",
        "properties": {
          "reqTemplate": {
            "type": "string"
          },
          "reqFunction": {
            "type": "string"
          },
          "reqJsonParts": {
            "type": "string"
          },
          "reqBody": {
            "type": "string"
          },
          "reqUrlPath": {
            "type": "string"
          }
        },
        "required": [
          "reqTemplate",
          "reqFunction",
          "reqJsonParts",
          "reqBody",
          "reqUrlPath"
        ]
      },
      "Sorting": {
        "type": "object",
        "properties": {
          "fieldId": {
            "type": "string"
          },
          "desc": {
            "type": "boolean"
          }
        },
        "required": [
          "fieldId",
          "desc"
        ]
      },
      "Filter": {
        "type": "object",
        "properties": {
          "fieldId": {
            "type": "string"
          },
          "fractions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Fraction"
            }
          }
        },
        "required": [
          "fieldId",
          "fractions"
        ]
      },
      "MconfigChart": {
        "type": "object",
        "properties": {
          "isValid": {
            "type": "boolean"
          },
          "type": {
            "type": "string",
            "enum": [
              "table",
              "line",
              "bar",
              "scatter",
              "pie",
              "single"
            ]
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "xField": {
            "type": "string",
            "nullable": true
          },
          "yFields": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "multiField": {
            "type": "string",
            "nullable": true
          },
          "sizeField": {
            "type": "string",
            "nullable": true
          },
          "format": {
            "type": "boolean",
            "nullable": true
          },
          "xAxis": {
            "$ref": "#/components/schemas/MconfigChartXAxis"
          },
          "yAxis": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MconfigChartYAxis"
            }
          },
          "series": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MconfigChartSeries"
            }
          }
        },
        "required": [
          "isValid",
          "type",
          "xAxis",
          "yAxis",
          "series"
        ]
      },
      "MconfigField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "malloyFieldName": {
            "type": "string",
            "nullable": true
          },
          "malloyFieldPath": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "malloyBaseFieldId": {
            "type": "string",
            "nullable": true
          },
          "malloyTags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValuePair"
            },
            "nullable": true
          },
          "mproveTags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyValuePair"
            },
            "nullable": true
          },
          "hidden": {
            "type": "boolean"
          },
          "required": {
            "type": "boolean"
          },
          "maxFractions": {
            "type": "number",
            "nullable": true
          },
          "label": {
            "type": "string"
          },
          "fieldClass": {
            "type": "string",
            "enum": [
              "dimension",
              "time",
              "measure",
              "calculation",
              "filter",
              "join",
              "info"
            ]
          },
          "fieldFileName": {
            "type": "string",
            "nullable": true
          },
          "fieldFilePath": {
            "type": "string",
            "nullable": true
          },
          "result": {
            "type": "string",
            "enum": [
              "day_of_week",
              "day_of_week_index",
              "month_name",
              "quarter_of_year",
              "ts",
              "yesno",
              "string",
              "number",
              "date",
              "boolean",
              "array",
              "record",
              "json",
              "sql_native"
            ],
            "nullable": true
          },
          "fieldLineNum": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "nullable": true
          },
          "suggestModelDimension": {
            "type": "string",
            "nullable": true
          },
          "sqlName": {
            "type": "string"
          },
          "topId": {
            "type": "string"
          },
          "topLabel": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "enum": [
              "count_distinct",
              "sum",
              "sum_by_key",
              "average",
              "average_by_key",
              "median_by_key",
              "percentile_by_key",
              "min",
              "max",
              "list",
              "custom",
              "yesno_is_true"
            ],
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "groupLabel": {
            "type": "string",
            "nullable": true
          },
          "groupDescription": {
            "type": "string",
            "nullable": true
          },
          "formatNumber": {
            "type": "string",
            "nullable": true
          },
          "currencyPrefix": {
            "type": "string",
            "nullable": true
          },
          "currencySuffix": {
            "type": "string",
            "nullable": true
          },
          "buildMetrics": {
            "type": "boolean",
            "nullable": true
          },
          "isTimeframeBase": {
            "type": "boolean"
          },
          "timeframe": {
            "type": "string",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "enum": [
              "timestamps",
              "minutes",
              "hours",
              "days",
              "weeksSunday",
              "weeksMonday",
              "months",
              "quarters",
              "years"
            ],
            "nullable": true
          },
          "sorting": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Sorting"
              }
            ],
            "nullable": true
          },
          "sortingNumber": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "hidden",
          "required",
          "label",
          "fieldClass",
          "sqlName",
          "topId",
          "topLabel",
          "isTimeframeBase",
          "sortingNumber"
        ]
      },
      "FilterX": {
        "type": "object",
        "properties": {
          "fieldId": {
            "type": "string"
          },
          "fractions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Fraction"
            }
          },
          "field": {}
        },
        "required": [
          "fieldId",
          "fractions",
          "field"
        ]
      },
      "DiskFileLine": {
        "type": "object",
        "properties": {
          "fileId": {
            "type": "string"
          },
          "fileName": {
            "type": "string"
          },
          "lineNumber": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "fileId",
          "fileName",
          "lineNumber"
        ]
      },
      "Fraction": {
        "type": "object",
        "properties": {
          "controls": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FractionControl"
            },
            "nullable": true
          },
          "brick": {
            "type": "string",
            "nullable": true
          },
          "parentBrick": {
            "type": "string",
            "nullable": true
          },
          "operator": {
            "type": "string",
            "enum": [
              "Or",
              "And"
            ],
            "nullable": true
          },
          "logicGroup": {
            "type": "string",
            "enum": [
              "OR",
              "AND_NOT"
            ],
            "nullable": true
          },
          "type": {
            "type": "string",
            "enum": [
              "StoreFraction",
              "StringIsAnyValue",
              "StringIsEqualTo",
              "StringStartsWith",
              "StringEndsWith",
              "StringContains",
              "StringIsLike",
              "StringIsEmpty",
              "StringIsNull",
              "StringIsNotEqualTo",
              "StringDoesNotStartWith",
              "StringDoesNotEndWith",
              "StringDoesNotContain",
              "StringIsNotLike",
              "StringIsNotEmpty",
              "StringIsNotNull",
              "NumberIsAnyValue",
              "NumberIsEqualTo",
              "NumberIsGreaterThan",
              "NumberIsGreaterThanOrEqualTo",
              "NumberIsLessThan",
              "NumberIsLessThanOrEqualTo",
              "NumberIsBetween",
              "NumberIsNull",
              "NumberIsNotEqualTo",
              "NumberIsNotGreaterThan",
              "NumberIsNotGreaterThanOrEqualTo",
              "NumberIsNotLessThan",
              "NumberIsNotLessThanOrEqualTo",
              "NumberIsNotBetween",
              "NumberIsNotNull",
              "BooleanIsAnyValue",
              "BooleanIsTrue",
              "BooleanIsFalse",
              "BooleanIsTruthy",
              "BooleanIsFalsy",
              "BooleanIsNull",
              "BooleanIsNotTrue",
              "BooleanIsNotFalse",
              "BooleanIsNotTruthy",
              "BooleanIsNotFalsy",
              "BooleanIsNotNull",
              "TsIsAnyValue",
              "TsIsInLast",
              "TsIsOnDay",
              "TsIsOnWeek",
              "TsIsOnMonth",
              "TsIsOnQuarter",
              "TsIsOnYear",
              "TsIsInNext",
              "TsIsAfter",
              "TsIsStarting",
              "TsIsBeginFor",
              "TsIsBetween",
              "TsIsBefore",
              "TsIsThrough",
              "TsIsOnHour",
              "TsIsOnMinute",
              "TsIsOnTimestamp",
              "TsIsNull",
              "TsIsNotInLast",
              "TsIsNotOnDay",
              "TsIsNotOnWeek",
              "TsIsNotOnMonth",
              "TsIsNotOnQuarter",
              "TsIsNotOnYear",
              "TsIsNotInNext",
              "TsIsNotBeginFor",
              "TsIsNotBetween",
              "TsIsNotOnHour",
              "TsIsNotOnMinute",
              "TsIsNotOnTimestamp",
              "TsIsNotNull",
              "DayOfWeekIsAnyValue",
              "DayOfWeekIs",
              "DayOfWeekIsNull",
              "DayOfWeekIsNot",
              "DayOfWeekIsNotNull",
              "DayOfWeekIndexIsAnyValue",
              "DayOfWeekIndexIsEqualTo",
              "DayOfWeekIndexIsNull",
              "DayOfWeekIndexIsNotEqualTo",
              "DayOfWeekIndexIsNotNull",
              "MonthNameIsAnyValue",
              "MonthNameIs",
              "MonthNameIsNull",
              "MonthNameIsNot",
              "MonthNameIsNotNull",
              "QuarterOfYearIsAnyValue",
              "QuarterOfYearIs",
              "QuarterOfYearIsNull",
              "QuarterOfYearIsNot",
              "QuarterOfYearIsNotNull",
              "TsIsBeforeRelative",
              "TsIsAfterRelative",
              "YesnoIsAnyValue",
              "YesnoIs"
            ]
          },
          "storeFractionSubTypeOptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FractionSubTypeOption"
            },
            "nullable": true
          },
          "storeFractionSubType": {
            "type": "string",
            "nullable": true
          },
          "storeFractionSubTypeLabel": {
            "type": "string",
            "nullable": true
          },
          "storeFractionLogicGroupWithSubType": {
            "type": "string",
            "nullable": true
          },
          "meta": {
            "nullable": true
          },
          "storeResult": {
            "type": "string",
            "nullable": true
          },
          "stringValue": {
            "type": "string",
            "nullable": true
          },
          "numberValue1": {
            "type": "number",
            "nullable": true
          },
          "numberValue2": {
            "type": "number",
            "nullable": true
          },
          "numberValues": {
            "type": "string",
            "nullable": true
          },
          "numberBetweenOption": {
            "type": "string",
            "enum": [
              "Inclusive",
              "LeftInclusive",
              "RightInclusive",
              "Exclusive"
            ],
            "nullable": true
          },
          "yesnoValue": {
            "type": "string",
            "enum": [
              "Yes",
              "No"
            ],
            "nullable": true
          },
          "dayOfWeekValue": {
            "type": "string",
            "enum": [
              "Monday",
              "Tuesday",
              "Wednesday",
              "Thursday",
              "Friday",
              "Saturday",
              "Sunday"
            ],
            "nullable": true
          },
          "dayOfWeekIndexValues": {
            "type": "string",
            "nullable": true
          },
          "monthNameValue": {
            "type": "string",
            "enum": [
              "January",
              "February",
              "March",
              "April",
              "May",
              "June",
              "July",
              "August",
              "September",
              "October",
              "November",
              "December"
            ],
            "nullable": true
          },
          "quarterOfYearValue": {
            "type": "string",
            "enum": [
              "q1",
              "q2",
              "q3",
              "q4"
            ],
            "nullable": true
          },
          "tsDateYear": {
            "type": "number",
            "nullable": true
          },
          "tsDateQuarter": {
            "type": "number",
            "nullable": true
          },
          "tsDateMonth": {
            "type": "number",
            "nullable": true
          },
          "tsDateDay": {
            "type": "number",
            "nullable": true
          },
          "tsDateHour": {
            "type": "number",
            "nullable": true
          },
          "tsDateMinute": {
            "type": "number",
            "nullable": true
          },
          "tsDateToYear": {
            "type": "number",
            "nullable": true
          },
          "tsDateToQuarter": {
            "type": "number",
            "nullable": true
          },
          "tsDateToMonth": {
            "type": "number",
            "nullable": true
          },
          "tsDateToDay": {
            "type": "number",
            "nullable": true
          },
          "tsDateToHour": {
            "type": "number",
            "nullable": true
          },
          "tsDateToMinute": {
            "type": "number",
            "nullable": true
          },
          "tsForValue": {
            "type": "number",
            "nullable": true
          },
          "tsForUnit": {
            "type": "string",
            "enum": [
              "seconds",
              "minutes",
              "hours",
              "days",
              "weeks",
              "months",
              "quarters",
              "years"
            ],
            "nullable": true
          },
          "tsLastValue": {
            "type": "number",
            "nullable": true
          },
          "tsLastUnit": {
            "type": "string",
            "enum": [
              "seconds",
              "minutes",
              "hours",
              "days",
              "weeks",
              "months",
              "quarters",
              "years"
            ],
            "nullable": true
          },
          "tsLastCompleteOption": {
            "type": "string",
            "enum": [
              "CompleteWithCurrent",
              "CompletePlusCurrent",
              "Complete"
            ],
            "nullable": true
          },
          "tsNextValue": {
            "type": "number",
            "nullable": true
          },
          "tsNextUnit": {
            "type": "string",
            "enum": [
              "seconds",
              "minutes",
              "hours",
              "days",
              "weeks",
              "months",
              "quarters",
              "years"
            ],
            "nullable": true
          },
          "tsMoment": {
            "nullable": true
          },
          "tsMomentType": {
            "type": "string",
            "enum": [
              "Literal",
              "Today",
              "Yesterday",
              "Tomorrow",
              "This",
              "Last",
              "Next",
              "Ago",
              "FromNow",
              "Now",
              "Timestamp"
            ],
            "nullable": true
          },
          "tsMomentUnit": {
            "type": "string",
            "enum": [
              "second",
              "minute",
              "hour",
              "day",
              "week",
              "month",
              "quarter",
              "year",
              "monday",
              "tuesday",
              "wednesday",
              "thursday",
              "friday",
              "saturday",
              "sunday"
            ],
            "nullable": true
          },
          "tsTimestampValue": {
            "type": "string",
            "nullable": true
          },
          "tsMomentAgoFromNowQuantity": {
            "type": "number",
            "nullable": true
          },
          "tsFromMoment": {
            "nullable": true
          },
          "tsFromMomentType": {
            "type": "string",
            "enum": [
              "Literal",
              "Today",
              "Yesterday",
              "Tomorrow",
              "This",
              "Last",
              "Next",
              "Ago",
              "FromNow",
              "Now",
              "Timestamp"
            ],
            "nullable": true
          },
          "tsFromMomentUnit": {
            "type": "string",
            "enum": [
              "second",
              "minute",
              "hour",
              "day",
              "week",
              "month",
              "quarter",
              "year",
              "monday",
              "tuesday",
              "wednesday",
              "thursday",
              "friday",
              "saturday",
              "sunday"
            ],
            "nullable": true
          },
          "tsFromTimestampValue": {
            "type": "string",
            "nullable": true
          },
          "tsFromMomentAgoFromNowQuantity": {
            "type": "number",
            "nullable": true
          },
          "tsToMoment": {
            "nullable": true
          },
          "tsToMomentType": {
            "type": "string",
            "enum": [
              "Literal",
              "Today",
              "Yesterday",
              "Tomorrow",
              "This",
              "Last",
              "Next",
              "Ago",
              "FromNow",
              "Now",
              "Timestamp"
            ],
            "nullable": true
          },
          "tsToMomentUnit": {
            "type": "string",
            "enum": [
              "second",
              "minute",
              "hour",
              "day",
              "week",
              "month",
              "quarter",
              "year",
              "monday",
              "tuesday",
              "wednesday",
              "thursday",
              "friday",
              "saturday",
              "sunday"
            ],
            "nullable": true
          },
          "tsToTimestampValue": {
            "type": "string",
            "nullable": true
          },
          "tsToMomentAgoFromNowQuantity": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "type"
        ]
      },
      "MconfigChartXAxis": {
        "type": "object",
        "properties": {
          "scale": {
            "type": "boolean"
          }
        },
        "required": [
          "scale"
        ]
      },
      "MconfigChartYAxis": {
        "type": "object",
        "properties": {
          "scale": {
            "type": "boolean"
          }
        },
        "required": [
          "scale"
        ]
      },
      "MconfigChartSeries": {
        "type": "object",
        "properties": {
          "dataField": {
            "type": "string",
            "nullable": true
          },
          "dataRowId": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "enum": [
              "table",
              "line",
              "bar",
              "scatter",
              "pie",
              "single"
            ],
            "nullable": true
          },
          "yAxisIndex": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "nullable": true
          }
        }
      },
      "KeyValuePair": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "key"
        ]
      },
      "FractionControl": {
        "type": "object",
        "properties": {
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FractionControlOption"
            },
            "nullable": true
          },
          "value": {
            "nullable": true
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "required": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "controlClass": {
            "type": "string",
            "enum": [
              "list_input",
              "input",
              "switch",
              "date_picker",
              "selector"
            ]
          },
          "isMetricsDate": {
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "name",
          "controlClass"
        ]
      },
      "FractionSubTypeOption": {
        "type": "object",
        "properties": {
          "logicGroup": {
            "type": "string",
            "enum": [
              "OR",
              "AND_NOT"
            ],
            "nullable": true
          },
          "typeValue": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "typeValue",
          "value"
        ]
      },
      "FractionControlOption": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "value"
        ]
      }
    }
  }
}
