{
  "openapi": "3.0.0",
  "info": {
    "title": "mprove backend",
    "description": "",
    "version": "12.0.20",
    "contact": {}
  },
  "paths": {
    "/api/ToBackendGetUserGivens": {
      "post": {
        "operationId": "GetUserGivensController",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ToBackendGetUserGivensRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ToBackendGetUserGivensResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ToBackendGetUserGivensRequest": {
        "type": "object",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/ToBackendGetUserGivensRequestInfo"
          },
          "payload": {
            "$ref": "#/components/schemas/ToBackendGetUserGivensRequestPayload"
          }
        },
        "required": [
          "info",
          "payload"
        ]
      },
      "ToBackendGetUserGivensResponse": {
        "type": "object",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/ToBackendGetUserGivensResponseInfo"
          },
          "payload": {
            "$ref": "#/components/schemas/ToBackendGetUserGivensResponsePayload"
          }
        },
        "required": [
          "info",
          "payload"
        ]
      },
      "ToBackendGetUserGivensRequestInfo": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "enum": [
              "api/ToBackendGetUserGivens"
            ]
          },
          "traceId": {
            "type": "string"
          },
          "idempotencyKey": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "traceId",
          "idempotencyKey"
        ]
      },
      "ToBackendGetUserGivensRequestPayload": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          }
        },
        "required": [
          "projectId"
        ]
      },
      "ToBackendGetUserGivensResponseInfo": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "enum": [
              "/api/ToBackendGetUserGivens"
            ]
          },
          "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"
        ]
      },
      "ToBackendGetUserGivensResponsePayload": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "memberGivens": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MemberGiven"
            }
          }
        },
        "required": [
          "user",
          "memberGivens"
        ]
      },
      "User": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "alias": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "isEmailVerified": {
            "type": "boolean"
          },
          "ui": {
            "$ref": "#/components/schemas/Ui"
          },
          "apiKeyPrefix": {
            "type": "string",
            "nullable": true
          },
          "isCodexAuthSet": {
            "type": "boolean",
            "nullable": true
          },
          "codexAuthUpdateTs": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "nullable": true
          },
          "codexAuthExpiresTs": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "nullable": true
          },
          "serverTs": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "userId",
          "email",
          "alias",
          "firstName",
          "lastName",
          "isEmailVerified",
          "ui",
          "serverTs"
        ]
      },
      "MemberGiven": {
        "type": "object",
        "properties": {
          "givenId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "String",
              "Number",
              "Boolean",
              "Date",
              "Timestamp"
            ]
          },
          "isMultiple": {
            "type": "boolean"
          },
          "memberGivenValues": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MemberGivenValue"
            }
          }
        },
        "required": [
          "givenId",
          "type",
          "isMultiple",
          "memberGivenValues"
        ]
      },
      "Ui": {
        "type": "object",
        "properties": {
          "modelTreeLevels": {
            "type": "string",
            "enum": [
              "Flat",
              "FlatTime",
              "Nested",
              "NestedFlatTime"
            ]
          },
          "timezone": {
            "type": "string"
          },
          "timeSpec": {
            "type": "string",
            "enum": [
              "timestamps",
              "seconds",
              "minutes",
              "hours",
              "days",
              "weeks",
              "months",
              "quarters",
              "years"
            ]
          },
          "timeRangeFraction": {
            "$ref": "#/components/schemas/Fraction"
          },
          "projectModelLinks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectModelLink"
            }
          },
          "projectChartLinks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectChartLink"
            }
          },
          "projectDashboardLinks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectDashboardLink"
            }
          },
          "projectExplorerSessionLinks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectExplorerSessionLink"
            },
            "nullable": true
          },
          "projectReportLinks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectReportLink"
            }
          },
          "projectSelectedGivenLinks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectSelectedGivenLink"
            },
            "nullable": true
          },
          "permissionsAutoAcceptSessionIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "newSessionPermissionsAutoAccept": {
            "type": "boolean",
            "nullable": true
          },
          "newSessionExplorerProviderModel": {
            "type": "string",
            "nullable": true
          },
          "newSessionEditorProviderModel": {
            "type": "string",
            "nullable": true
          },
          "newSessionEditorVariant": {
            "type": "string",
            "nullable": true
          },
          "newSessionUseCodex": {
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "modelTreeLevels",
          "timezone",
          "timeSpec",
          "timeRangeFraction",
          "projectModelLinks",
          "projectChartLinks",
          "projectDashboardLinks",
          "projectReportLinks"
        ]
      },
      "MemberGivenValue": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          },
          "isProjectDefault": {
            "type": "boolean"
          },
          "roleIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "value",
          "isProjectDefault",
          "roleIds"
        ]
      },
      "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"
        ]
      },
      "ProjectModelLink": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          },
          "modelId": {
            "type": "string"
          },
          "navTs": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "nullable": true
          }
        },
        "required": [
          "projectId",
          "modelId"
        ]
      },
      "ProjectChartLink": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          },
          "chartId": {
            "type": "string"
          },
          "navTs": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "nullable": true
          }
        },
        "required": [
          "projectId",
          "chartId"
        ]
      },
      "ProjectDashboardLink": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          },
          "dashboardId": {
            "type": "string"
          },
          "navTs": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "nullable": true
          }
        },
        "required": [
          "projectId",
          "dashboardId"
        ]
      },
      "ProjectExplorerSessionLink": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          },
          "sessionId": {
            "type": "string"
          },
          "repoId": {
            "type": "string"
          },
          "branchId": {
            "type": "string"
          },
          "envId": {
            "type": "string"
          },
          "tabId": {
            "type": "string",
            "nullable": true
          },
          "navTs": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "nullable": true
          }
        },
        "required": [
          "projectId",
          "sessionId",
          "repoId",
          "branchId",
          "envId"
        ]
      },
      "ProjectReportLink": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          },
          "reportId": {
            "type": "string"
          },
          "navTs": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "nullable": true
          }
        },
        "required": [
          "projectId",
          "reportId"
        ]
      },
      "ProjectSelectedGivenLink": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string"
          },
          "givens": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SelectedGiven"
            }
          },
          "navTs": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "nullable": true
          }
        },
        "required": [
          "projectId",
          "givens"
        ]
      },
      "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"
        ]
      },
      "SelectedGiven": {
        "type": "object",
        "properties": {
          "givenId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "String",
              "Number",
              "Boolean",
              "Date",
              "Timestamp"
            ]
          },
          "isMultiple": {
            "type": "boolean"
          },
          "values": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "givenId",
          "type",
          "isMultiple",
          "values"
        ]
      },
      "FractionControlOption": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "value"
        ]
      }
    }
  }
}
