{
  "openapi": "3.0.1",
  "info": {
    "title": "Growth Services",
    "version": "v1"
  },
  "paths": {
    "/administration/token": {
      "post": {
        "tags": [
          "Administration"
        ],
        "summary": "Issue a token",
        "description": "This is an iCUE only endpoint.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewTokenRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NewTokenRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NewTokenRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          }
        }
      }
    },
    "/administration/entity": {
      "post": {
        "tags": [
          "Administration"
        ],
        "summary": "Create organization",
        "description": "This is an iCUE only endpoint or Enterprise feature.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewEntityRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NewEntityRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NewEntityRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Administration"
        ],
        "summary": "Get all organizations",
        "description": "This is an iCUE only endpoint or Enterprise feature.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntityResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntityResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntityResponse"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Administration"
        ],
        "summary": "Pause organization",
        "description": "This is an iCUE only endpoint or Enterprise feature.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ToggleRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ToggleRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ToggleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/administration/entity/{id}": {
      "delete": {
        "tags": [
          "Administration"
        ],
        "summary": "Delete organization",
        "description": "This is an iCUE only endpoint or Enterprise feature.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/administration/user": {
      "post": {
        "tags": [
          "Administration"
        ],
        "summary": "Create user",
        "description": "Create new user for entity/organization. This can be done by entity administrator.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewUserRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NewUserRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NewUserRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Administration"
        ],
        "summary": "Update user",
        "description": "Update user",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/administration/user/{entityId}": {
      "get": {
        "tags": [
          "Administration"
        ],
        "summary": "Get all users",
        "description": "Get all users",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/administration/user/{entityId}/{id}": {
      "delete": {
        "tags": [
          "Administration"
        ],
        "summary": "Delete user",
        "description": "Delete user",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/administration/user/lock": {
      "put": {
        "tags": [
          "Administration"
        ],
        "summary": "Lock user",
        "description": "After lock user won't be able to use iCUE API endpoints.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ToggleUserRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ToggleUserRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ToggleUserRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/administration/planning-level/lock": {
      "post": {
        "tags": [
          "Administration"
        ],
        "summary": "Lock planning level",
        "description": "Lock planning level against modification. This is an Enterprise feature.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/administration/planning-level/{entityId}/{id}": {
      "delete": {
        "tags": [
          "Administration"
        ],
        "summary": "Delete planning level",
        "description": "Delete planning level. This is an Enterprise feature.",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/administration/model": {
      "post": {
        "tags": [
          "Administration"
        ],
        "summary": "Register new forecasting model",
        "description": "Register new forecasting model for all organziations",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewModelRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NewModelRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NewModelRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MethodDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodDto"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Administration"
        ],
        "summary": "Get all common Models",
        "description": "Returns models that are common for all Organizations",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MethodDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MethodDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MethodDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/administration/model/{entityId}": {
      "post": {
        "tags": [
          "Administration"
        ],
        "summary": "Register new forecasting model",
        "description": "Register new forecasting model for single organziation",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewModelRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NewModelRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NewModelRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MethodDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MethodDto"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Administration"
        ],
        "summary": "Get Models for Organization",
        "description": "Returns models registered for Organization",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MethodDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MethodDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MethodDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/administration/file-to-json": {
      "post": {
        "tags": [
          "Administration"
        ],
        "summary": "Transform data file to JSON format",
        "description": "Transform data file to JSON format",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "File",
                  "Periodicity"
                ],
                "type": "object",
                "properties": {
                  "File": {
                    "type": "string",
                    "format": "binary"
                  },
                  "Periodicity": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              },
              "encoding": {
                "File": {
                  "style": "form"
                },
                "Periodicity": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonForecastResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonForecastResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonForecastResponse"
                }
              }
            }
          }
        }
      }
    },
    "/forecast/file-to-forecast": {
      "post": {
        "tags": [
          "Insight-Driven Planning (Forecast & Optimization)"
        ],
        "summary": "Forecast from file",
        "description": "Forecast from file allows for quick analysis via Microsoft Excel and CSV file format. Please check documentation link for help.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "File",
                  "Method"
                ],
                "type": "object",
                "properties": {
                  "File": {
                    "type": "string",
                    "format": "binary"
                  },
                  "Method": {
                    "enum": [
                      "AutoBestPick",
                      "BoxJenkins",
                      "Croston",
                      "DoubleExponentialSmoothing",
                      "HoltWinters",
                      "SingleExponentialSmoothing",
                      "iCUE1",
                      "SimpleMovingAverage"
                    ],
                    "type": "string",
                    "example": "iCUE1"
                  },
                  "Periodicity": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "HoldOutPeriod": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "NoFcst": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "DiscardData": {
                    "type": "boolean"
                  },
                  "OutlierDetection": {
                    "type": "boolean"
                  },
                  "ErrorType": {
                    "enum": [
                      "MeanAbsolutePercentageError",
                      "MeanSquaredError",
                      "MeanAbsoluteError",
                      "MedianAbsoluteDeviation",
                      "None"
                    ],
                    "type": "string"
                  }
                }
              },
              "encoding": {
                "File": {
                  "style": "form"
                },
                "Method": {
                  "style": "form"
                },
                "Periodicity": {
                  "style": "form"
                },
                "HoldOutPeriod": {
                  "style": "form"
                },
                "NoFcst": {
                  "style": "form"
                },
                "DiscardData": {
                  "style": "form"
                },
                "OutlierDetection": {
                  "style": "form"
                },
                "ErrorType": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JobResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobResponse"
                }
              }
            }
          }
        }
      }
    },
    "/forecast/status/{jobId}": {
      "get": {
        "tags": [
          "Insight-Driven Planning (Forecast & Optimization)"
        ],
        "summary": "Forecast status",
        "description": "Get status for forecast job",
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/forecast/result/{jobId}": {
      "get": {
        "tags": [
          "Insight-Driven Planning (Forecast & Optimization)"
        ],
        "summary": "Forecast result",
        "description": "Get result for forecast job",
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/forecast": {
      "post": {
        "tags": [
          "Insight-Driven Planning (Forecast & Optimization)"
        ],
        "summary": "Forecasts only, for faster results",
        "description": "To support maximum operation and integration speed, this endpoint only returns the calculated forecast.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastResponse"
                }
              }
            }
          }
        }
      }
    },
    "/forecast/rerun": {
      "post": {
        "tags": [
          "Insight-Driven Planning (Forecast & Optimization)"
        ],
        "summary": "Rerun previously uploaded planning level",
        "description": "Rerun previously uploaded planning level.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelReRunRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelReRunRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelReRunRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastResponse"
                }
              }
            }
          }
        }
      }
    },
    "/forecast/AI": {
      "post": {
        "tags": [
          "Insight-Driven Planning (Forecast & Optimization)"
        ],
        "summary": "Forecast utilizing advanced machine learning models",
        "description": "Forecast AI is utilizing advanced machine learning models. Please be mindful of enhanced execution times (~1-2s per timeseries).",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AiPlanningLevelRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AiPlanningLevelRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AiPlanningLevelRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JobResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobResponse"
                }
              }
            }
          }
        }
      }
    },
    "/forecast/AI/history-and-forecast": {
      "post": {
        "tags": [
          "Insight-Driven Planning (Forecast & Optimization)"
        ],
        "summary": "History and forecast utilizing advanced machine learning models",
        "description": "History and forecast utilizing advanced machine learning models. Please be mindful of enhanced execution times (~1-2s per timeseries).",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AiPlanningLevelRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AiPlanningLevelRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AiPlanningLevelRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JobResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobResponse"
                }
              }
            }
          }
        }
      }
    },
    "/forecast/full-detail": {
      "post": {
        "tags": [
          "Insight-Driven Planning (Forecast & Optimization)"
        ],
        "summary": "Full forecast result details, including error, trend seasonality and outlier",
        "description": "Response provides full forecast result details, including error, trend seasonality and outlier. Great for advanced analysis.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/FullDetailsForecastResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FullDetailsForecastResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FullDetailsForecastResponse"
                }
              }
            }
          }
        }
      }
    },
    "/forecast/history-and-forecast": {
      "post": {
        "tags": [
          "Insight-Driven Planning (Forecast & Optimization)"
        ],
        "summary": "History and forecast for fast timeseries view",
        "description": "Reponse provides history and forecast per timeseries. Great for visualizing results.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HistoryAndForecastResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HistoryAndForecastResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HistoryAndForecastResponse"
                }
              }
            }
          }
        }
      }
    },
    "/forecast/forecast-top-down": {
      "post": {
        "tags": [
          "Insight-Driven Planning (Forecast & Optimization)"
        ],
        "summary": "Top down forecasting",
        "description": "Calculate forecast based on sum of of lower level timeseries and distribute forecast down based on ratios. Great feature for planning levels with dynamic timeseries.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/forecast/forecast-bottom-up": {
      "post": {
        "tags": [
          "Insight-Driven Planning (Forecast & Optimization)"
        ],
        "summary": "Bottom up forecasting",
        "description": "Calculate forecast by timeseries and sum results up to establish forecast for top level timeseries.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastBottomUpResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastBottomUpResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastBottomUpResponse"
                }
              }
            }
          }
        }
      }
    },
    "/forecast/optimal-parameter": {
      "post": {
        "tags": [
          "Insight-Driven Planning (Forecast & Optimization)"
        ],
        "summary": "Get optimal parameter per method",
        "description": "Use the optimal parameter sets created by iCUE to set the method parameters of your internal planning system.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PlanningLevelRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OptimalParameterResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OptimalParameterResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OptimalParameterResponse"
                }
              }
            }
          }
        }
      }
    },
    "/hyperparameter": {
      "get": {
        "tags": [
          "Hyperparameter Management"
        ],
        "summary": "Get hyperparameters",
        "description": "Get entity global hyperparameters.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HyperparameterModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HyperparameterModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HyperparameterModel"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Hyperparameter Management"
        ],
        "summary": "Set hyperparameters",
        "description": "Set entity global hyperparameters. Hyperparameters can be overwritten by user and planning level (add to JSON body).",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HyperparameterModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/HyperparameterModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/HyperparameterModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/inventory/inventory-turnover": {
      "post": {
        "tags": [
          "Inventory Management"
        ],
        "summary": "Inventroy Turn-over",
        "description": "Inventroy Turn-over",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/inventory/safety-stock": {
      "post": {
        "tags": [
          "Inventory Management"
        ],
        "summary": "Safety Stock",
        "description": "Safety Stock",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/inventory/reorder-point": {
      "post": {
        "tags": [
          "Inventory Management"
        ],
        "summary": "Re-order Point",
        "description": "Re-order Point",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/inventory/caryying-cost": {
      "post": {
        "tags": [
          "Inventory Management"
        ],
        "summary": "Carrying Cost",
        "description": "Carrying Cost",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/inventory/amazon-ipi": {
      "post": {
        "tags": [
          "Inventory Management"
        ],
        "summary": "Calculate Amazon Inventory Performance Index (IPI)",
        "description": "Calculate Amazon Inventory Performance Index (IPI)",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/inventory/eoq": {
      "post": {
        "tags": [
          "Inventory Management"
        ],
        "summary": "Calculate economic order quantity",
        "description": "Calculate economic order quantity",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/inventory/moq": {
      "post": {
        "tags": [
          "Inventory Management"
        ],
        "summary": "Calculate minimum order quantity",
        "description": "Calculate minimum order quantity",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/inventory/ltd": {
      "post": {
        "tags": [
          "Inventory Management"
        ],
        "summary": "Calculate lead time demand",
        "description": "Calculate lead time demand",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/inventory/service-level": {
      "post": {
        "tags": [
          "Inventory Management"
        ],
        "summary": "Calculate service level",
        "description": "Calculate service level",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/inventory/optimal-service-level": {
      "post": {
        "tags": [
          "Inventory Management"
        ],
        "summary": "Calculate optimal service level",
        "description": "Calculate optimal service level",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/inventory/fill-rate": {
      "post": {
        "tags": [
          "Inventory Management"
        ],
        "summary": "Calculate fill rate",
        "description": "Calculate fill rate",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/inventory/turns": {
      "post": {
        "tags": [
          "Inventory Management"
        ],
        "summary": "Calculate inventory turns",
        "description": "Calculate inventory turns",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/inventory/financial-imapct-forecast-accuracy": {
      "post": {
        "tags": [
          "Inventory Management"
        ],
        "summary": "Calculate financial impact of forecast accuracy",
        "description": "Calculate financial impact of forecast accuracy",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/lifecycle/one-to-one": {
      "post": {
        "tags": [
          "Product Lifecycle Management"
        ],
        "summary": "Map from old product to new product to create artifical history",
        "description": "Supports the creation of artificial startup history for new products, based on a flexible mapping of old to new. This is an Enterprise feature.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LifecycleOneToOneRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LifecycleOneToOneRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LifecycleOneToOneRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlanningLevelDataDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanningLevelDataDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanningLevelDataDto"
                }
              }
            }
          }
        }
      }
    },
    "/lifecycle/many-to-one": {
      "post": {
        "tags": [
          "Product Lifecycle Management"
        ],
        "summary": "Map from old product to new product to create artifical history",
        "description": "Supports the creation of artificial startup history for new products, based on a flexible mapping of old to new. This is an Enterprise feature.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LifecycleManyToOneRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LifecycleManyToOneRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LifecycleManyToOneRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlanningLevelDataDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanningLevelDataDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanningLevelDataDto"
                }
              }
            }
          }
        }
      }
    },
    "/outlier": {
      "post": {
        "tags": [
          "Insight-Driven Planning (Forecast & Optimization)"
        ],
        "summary": "Get outlier",
        "description": "Identify outliers (single and repetitive spikes, seasonality, masked outliers, trend and level jumps, amongst other topics) and use for cleansing of the history stream prior to forecast claculation. Depending on math model used, this approach often improves results dramatically, as it removes disturbances.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OutliersRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OutliersRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OutliersRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimeSeriesOutliersResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimeSeriesOutliersResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimeSeriesOutliersResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/portfolio/file-to-portfolio": {
      "post": {
        "tags": [
          "Portfolio Performance Management"
        ],
        "summary": "ABCxyz Analysis",
        "description": "Calculate and retrieve results of ABC (pareto analysis) and xyz (Coefficient of variation) per timeseries and planning level. This analysis is a powerful means to estbalish a proper planning cadence, best accuracy messures and optimal hyperparameters for the organization. It provides a balanced and actionable overview of the entire product portfolio.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "File"
                ],
                "type": "object",
                "properties": {
                  "File": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "File": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/portfolio": {
      "post": {
        "tags": [
          "Portfolio Performance Management"
        ],
        "summary": "ABCxyz Analysis",
        "description": "Calculate and retrieve results of ABC (pareto analysis) and xyz (Coefficient of variation) per timeseries and planning level. This analysis is a powerful means to estbalish a proper planning cadence, best accuracy messures and optimal hyperparameters for the organization. It provides a balanced and actionable overview of the entire product portfolio.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PortfolioRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PortfolioRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PortfolioRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortfolioModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortfolioModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortfolioModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/portfolio/abc": {
      "post": {
        "tags": [
          "Portfolio Performance Management"
        ],
        "summary": "ABC Analysis",
        "description": "Calculate and retrieve results of ABC (pareto analysis) per timeseries and planning level.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PortfolioRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PortfolioRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PortfolioRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortfolioAbcModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortfolioAbcModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortfolioAbcModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/portfolio/xyz": {
      "post": {
        "tags": [
          "Portfolio Performance Management"
        ],
        "summary": "xyz Analysis",
        "description": "Calculate and retrieve results of xyz (Coefficient of variation) per timeseries and planning level.",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PortfolioRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PortfolioRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PortfolioRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortfolioXyzModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortfolioXyzModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortfolioXyzModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/portfolio/forecast-performance-rewind": {
      "post": {
        "tags": [
          "Portfolio Performance Management"
        ],
        "summary": "Planning level rewind to calculate and measure performance potential (internal versus iCUE).",
        "description": "Planning level rewind to calculate and measure performance potential (internal versus iCUE).",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ForecastPerformanceRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ForecastPerformanceRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ForecastPerformanceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RewindResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RewindResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RewindResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pricing/bundle-pricing": {
      "post": {
        "tags": [
          "Pricing"
        ],
        "summary": "Bundle pricing",
        "description": "Bundle pricing",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/pricing/competitive-pricing": {
      "post": {
        "tags": [
          "Pricing"
        ],
        "summary": "",
        "description": "",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/pricing/cost-plus-pricing": {
      "post": {
        "tags": [
          "Pricing"
        ],
        "summary": "",
        "description": "",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/pricing/decoy-pricing": {
      "post": {
        "tags": [
          "Pricing"
        ],
        "summary": "",
        "description": "",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/pricing/penetration-pricing": {
      "post": {
        "tags": [
          "Pricing"
        ],
        "summary": "",
        "description": "",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/pricing/odd-pricing": {
      "post": {
        "tags": [
          "Pricing"
        ],
        "summary": "",
        "description": "",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/pricing/price-elasticity-of-demand": {
      "post": {
        "tags": [
          "Pricing"
        ],
        "summary": "",
        "description": "",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/report/user": {
      "get": {
        "tags": [
          "Reporting and Monitoring"
        ],
        "summary": "Get usage statistics per user",
        "description": "Get usage statistics per user",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/report/planning-level/user": {
      "get": {
        "tags": [
          "Reporting and Monitoring"
        ],
        "summary": "Get list of plannign levels by user",
        "description": "Get list of plannign levels by user",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/report/planning-level/organization": {
      "get": {
        "tags": [
          "Reporting and Monitoring"
        ],
        "summary": "Get list of plannign levels by organization",
        "description": "Get list of plannign levels by organization",
        "parameters": [
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/report/performance/{planningLevelId}": {
      "get": {
        "tags": [
          "Reporting and Monitoring"
        ],
        "summary": "Month over month performance per planning level",
        "description": "Month over month performance per planning level",
        "parameters": [
          {
            "name": "planningLevelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/report/performance/sku-rationalization/{planningLevelId}": {
      "get": {
        "tags": [
          "Reporting and Monitoring"
        ],
        "summary": "SKU rationalization report",
        "description": "SKU rationalization report",
        "parameters": [
          {
            "name": "planningLevelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Token",
            "in": "header",
            "description": "User Authentication Token",
            "schema": {
              "type": "String"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortfolioModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortfolioModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortfolioModel"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AiPlanningLevelRequest": {
        "required": [
          "method",
          "planningLevelId",
          "startDate"
        ],
        "type": "object",
        "properties": {
          "planningLevelId": {
            "type": "string"
          },
          "startDate": {
            "type": "string",
            "example": "1/16/2016"
          },
          "method": {
            "enum": [
              "icueMLP",
              "icueMLO",
              "icueMLN"
            ],
            "type": "string",
            "example": "icueMLP | icueMLO"
          },
          "params": {
            "$ref": "#/components/schemas/PlanningLevelInfoRequest"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlanningLevelDataDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EntityResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "dbConnection": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          },
          "token": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "ForecastBottomUpResponse": {
        "type": "object",
        "properties": {
          "hyperparameters": {
            "$ref": "#/components/schemas/ForecastHyperparameterResponse"
          },
          "forecastData": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlanningLevelForecastResultData"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ForecastHyperparameterResponse": {
        "type": "object",
        "properties": {
          "holdOutPeriod": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "example": 4
          },
          "errorType": {
            "enum": [
              "MeanAbsolutePercentageError",
              "MeanSquaredError",
              "MeanAbsoluteError",
              "MedianAbsoluteDeviation",
              "None"
            ],
            "type": "string",
            "example": "MeanAbsolutePercentageError"
          },
          "periodicity": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "example": 12
          },
          "discardData": {
            "type": "boolean",
            "nullable": true,
            "example": false
          },
          "noFcst": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "example": 18
          }
        },
        "additionalProperties": false
      },
      "ForecastOptimalParametersResponse": {
        "type": "object",
        "properties": {
          "alpha": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "beta": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "gamma": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ForecastPerformanceDataRequest": {
        "type": "object",
        "properties": {
          "timeSeriesId": {
            "type": "string",
            "nullable": true
          },
          "historyValues": {
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            },
            "nullable": true
          },
          "forecastValues": {
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ForecastPerformanceRequest": {
        "required": [
          "method",
          "planningLevelId",
          "rewindTimeFrame",
          "startDate"
        ],
        "type": "object",
        "properties": {
          "planningLevelId": {
            "type": "string"
          },
          "startDate": {
            "type": "string",
            "example": "1/16/2016"
          },
          "method": {
            "type": "string",
            "example": "iCUE1"
          },
          "rewindTimeFrame": {
            "type": "integer",
            "format": "int32",
            "example": 12
          },
          "costOfError": {
            "type": "number",
            "format": "double",
            "example": 200
          },
          "params": {
            "$ref": "#/components/schemas/PlanningLevelInfoRequest"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ForecastPerformanceDataRequest"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ForecastResponse": {
        "type": "object",
        "properties": {
          "hyperparameters": {
            "$ref": "#/components/schemas/ForecastHyperparameterResponse"
          },
          "timeSeries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeSeriesForecastResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FullDetailsForecastResponse": {
        "type": "object",
        "properties": {
          "hyperparameters": {
            "$ref": "#/components/schemas/ForecastHyperparameterResponse"
          },
          "timeSeries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeSeriesFullDetailsResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "HistoryAndForecastResponse": {
        "type": "object",
        "properties": {
          "hyperparameters": {
            "$ref": "#/components/schemas/ForecastHyperparameterResponse"
          },
          "timeSeries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeSeriesHistoryAndForecastResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "HyperparameterModel": {
        "type": "object",
        "properties": {
          "abcClassificationThresholdA": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "example": 0.8
          },
          "abcClassificationThresholdB": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "example": 0.95
          },
          "abcClassificationThresholdC": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "example": 0.95
          },
          "xyzClassificationThresholdX": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "example": 0.3
          },
          "xyzClassificationThresholdY": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "example": 0.6
          },
          "xyzClassificationThresholdZ": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "example": 0.6
          },
          "holdOutPeriod": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "example": 4
          },
          "errorType": {
            "enum": [
              "MeanAbsolutePercentageError",
              "MeanSquaredError",
              "MeanAbsoluteError",
              "MedianAbsoluteDeviation",
              "None"
            ],
            "type": "string",
            "example": "MeanAbsolutePercentageError"
          },
          "periodicity": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "example": 12
          },
          "discardData": {
            "type": "boolean",
            "nullable": true,
            "example": false
          },
          "noFcst": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "example": 18
          },
          "outlierDetection": {
            "type": "boolean",
            "nullable": true,
            "example": true
          }
        },
        "additionalProperties": false
      },
      "JobResponse": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "JsonForecastResponse": {
        "type": "object",
        "properties": {
          "planningLevelId": {
            "type": "string",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "nullable": true,
            "example": "1/16/2016"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlanningLevelDataDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LifecycleManyToOneRequest": {
        "required": [
          "planningLevelId"
        ],
        "type": "object",
        "properties": {
          "planningLevelId": {
            "type": "string"
          },
          "ratios": {
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            },
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlanningLevelDataDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LifecycleOneToOneRequest": {
        "required": [
          "planningLevelId"
        ],
        "type": "object",
        "properties": {
          "planningLevelId": {
            "type": "string"
          },
          "ratio": {
            "type": "number",
            "format": "double",
            "example": 15
          },
          "data": {
            "$ref": "#/components/schemas/PlanningLevelDataDto"
          }
        },
        "additionalProperties": false
      },
      "MethodDto": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "queue": {
            "type": "string",
            "nullable": true
          },
          "replyQueue": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "NewEntityRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "NewModelRequest": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "NewTokenRequest": {
        "type": "object",
        "properties": {
          "entityToken": {
            "type": "string",
            "format": "uuid"
          },
          "userToken": {
            "type": "string",
            "format": "uuid"
          },
          "expirationDate": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "NewUserRequest": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "nullable": true
          },
          "firstname": {
            "type": "string",
            "nullable": true
          },
          "lastname": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "readOnly": true
          },
          "entityToken": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "OptimalParameterResponse": {
        "type": "object",
        "properties": {
          "hyperparameters": {
            "$ref": "#/components/schemas/ForecastHyperparameterResponse"
          },
          "timeSeries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeSeriesOptimalParametersResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OutlierResponse": {
        "type": "object",
        "properties": {
          "index": {
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "enum": [
              "Additive",
              "LevelShift",
              "TemporaryChange",
              "Seasonal"
            ],
            "type": "string"
          },
          "value": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "OutliersRequest": {
        "required": [
          "planningLevelId",
          "startDate"
        ],
        "type": "object",
        "properties": {
          "planningLevelId": {
            "type": "string"
          },
          "startDate": {
            "type": "string",
            "example": "1/16/2016"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlanningLevelDataDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PlanningLevelDataDto": {
        "type": "object",
        "properties": {
          "timeSeriesId": {
            "type": "string",
            "nullable": true
          },
          "historyValues": {
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PlanningLevelForecastResultData": {
        "type": "object",
        "properties": {
          "value": {
            "type": "number",
            "format": "double"
          },
          "date": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PlanningLevelInfoRequest": {
        "required": [
          "discardData",
          "errorType",
          "holdOutPeriod",
          "noFcst",
          "outlierDetection",
          "periodicity"
        ],
        "type": "object",
        "properties": {
          "periodicity": {
            "type": "integer",
            "format": "int32",
            "example": 12
          },
          "holdOutPeriod": {
            "type": "integer",
            "format": "int32",
            "example": 4
          },
          "noFcst": {
            "type": "integer",
            "format": "int32",
            "example": 18
          },
          "discardData": {
            "type": "boolean",
            "example": false
          },
          "outlierDetection": {
            "type": "boolean",
            "example": true
          },
          "errorType": {
            "enum": [
              "MeanAbsolutePercentageError",
              "MeanSquaredError",
              "MeanAbsoluteError",
              "MedianAbsoluteDeviation",
              "None"
            ],
            "type": "string",
            "example": "MeanAbsolutePercentageError"
          }
        },
        "additionalProperties": false
      },
      "PlanningLevelRequest": {
        "required": [
          "method",
          "planningLevelId",
          "startDate"
        ],
        "type": "object",
        "properties": {
          "planningLevelId": {
            "type": "string"
          },
          "startDate": {
            "type": "string",
            "example": "1/16/2016"
          },
          "method": {
            "type": "string",
            "example": "iCUE1"
          },
          "override": {
            "type": "boolean",
            "example": false
          },
          "params": {
            "$ref": "#/components/schemas/PlanningLevelInfoRequest"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlanningLevelDataDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PlanningLevelReRunRequest": {
        "required": [
          "method",
          "planningLevelId"
        ],
        "type": "object",
        "properties": {
          "planningLevelId": {
            "type": "integer",
            "format": "int32"
          },
          "method": {
            "type": "string",
            "example": "iCUE1"
          },
          "params": {
            "$ref": "#/components/schemas/PlanningLevelInfoRequest"
          }
        },
        "additionalProperties": false
      },
      "PortfolioAbcModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "thresholdA": {
            "type": "number",
            "format": "double"
          },
          "thresholdB": {
            "type": "number",
            "format": "double"
          },
          "thresholdC": {
            "type": "number",
            "format": "double"
          },
          "abc6": {
            "type": "string"
          },
          "abc6Value": {
            "type": "number",
            "format": "double"
          },
          "abc9": {
            "type": "string"
          },
          "abc9Value": {
            "type": "number",
            "format": "double"
          },
          "abc12": {
            "type": "string"
          },
          "abc12Value": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "PortfolioModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "thresholdA": {
            "type": "number",
            "format": "double"
          },
          "thresholdB": {
            "type": "number",
            "format": "double"
          },
          "thresholdC": {
            "type": "number",
            "format": "double"
          },
          "abc6": {
            "type": "string"
          },
          "abc6Value": {
            "type": "number",
            "format": "double"
          },
          "abc9": {
            "type": "string"
          },
          "abc9Value": {
            "type": "number",
            "format": "double"
          },
          "abc12": {
            "type": "string"
          },
          "abc12Value": {
            "type": "number",
            "format": "double"
          },
          "thresholdX": {
            "type": "number",
            "format": "double"
          },
          "thresholdY": {
            "type": "number",
            "format": "double"
          },
          "thresholdZ": {
            "type": "number",
            "format": "double"
          },
          "xyz6": {
            "type": "string"
          },
          "xyz6Value": {
            "type": "number",
            "format": "double"
          },
          "xyz9": {
            "type": "string"
          },
          "xyz9Value": {
            "type": "number",
            "format": "double"
          },
          "xyz12": {
            "type": "string"
          },
          "xyz12Value": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "PortfolioRequest": {
        "required": [
          "planningLevelId",
          "startDate"
        ],
        "type": "object",
        "properties": {
          "planningLevelId": {
            "type": "string"
          },
          "startDate": {
            "type": "string",
            "example": "1/16/2016"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlanningLevelDataDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PortfolioXyzModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "thresholdX": {
            "type": "number",
            "format": "double"
          },
          "thresholdY": {
            "type": "number",
            "format": "double"
          },
          "thresholdZ": {
            "type": "number",
            "format": "double"
          },
          "xyz6": {
            "type": "string"
          },
          "xyz6Value": {
            "type": "number",
            "format": "double"
          },
          "xyz9": {
            "type": "string"
          },
          "xyz9Value": {
            "type": "number",
            "format": "double"
          },
          "xyz12": {
            "type": "string"
          },
          "xyz12Value": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "RewindHyperparameterResponse": {
        "type": "object",
        "properties": {
          "holdOutPeriod": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "example": 4
          },
          "errorType": {
            "enum": [
              "MeanAbsolutePercentageError",
              "MeanSquaredError",
              "MeanAbsoluteError",
              "MedianAbsoluteDeviation",
              "None"
            ],
            "type": "string",
            "example": "MeanAbsolutePercentageError"
          },
          "periodicity": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "example": 12
          },
          "discardData": {
            "type": "boolean",
            "nullable": true,
            "example": false
          },
          "noFcst": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "example": 18
          },
          "rewindTimeFrame": {
            "type": "integer",
            "format": "int32",
            "example": 12
          },
          "costOfError": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "example": 200
          }
        },
        "additionalProperties": false
      },
      "RewindResponse": {
        "type": "object",
        "properties": {
          "hyperparameters": {
            "$ref": "#/components/schemas/RewindHyperparameterResponse"
          },
          "totalCost": {
            "type": "number",
            "format": "double"
          },
          "timeSeries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RewindTimeSeriesResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RewindTimeSeriesResponse": {
        "type": "object",
        "properties": {
          "timeSeries": {
            "type": "string",
            "nullable": true
          },
          "icueError": {
            "type": "number",
            "format": "double"
          },
          "customerError": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "errorDiff": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "totalCost": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "useIcue": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TimeSeriesForecastResponse": {
        "type": "object",
        "properties": {
          "timeSeriesId": {
            "type": "string",
            "nullable": true
          },
          "method": {
            "type": "string",
            "nullable": true
          },
          "error": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "forecastData": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlanningLevelForecastResultData"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TimeSeriesFullDetailsResponse": {
        "type": "object",
        "properties": {
          "timeSeriesId": {
            "type": "string",
            "nullable": true
          },
          "method": {
            "type": "string",
            "nullable": true
          },
          "error": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "optimalParameters": {
            "$ref": "#/components/schemas/ForecastOptimalParametersResponse"
          },
          "outliers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutlierResponse"
            },
            "nullable": true
          },
          "historyData": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlanningLevelForecastResultData"
            },
            "nullable": true
          },
          "forecastData": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlanningLevelForecastResultData"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TimeSeriesHistoryAndForecastResponse": {
        "type": "object",
        "properties": {
          "timeSeriesId": {
            "type": "string",
            "nullable": true
          },
          "method": {
            "type": "string",
            "nullable": true
          },
          "error": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "historyData": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlanningLevelForecastResultData"
            },
            "nullable": true
          },
          "forecastData": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlanningLevelForecastResultData"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TimeSeriesOptimalParametersResponse": {
        "type": "object",
        "properties": {
          "timeSeriesId": {
            "type": "string",
            "nullable": true
          },
          "method": {
            "type": "string",
            "nullable": true
          },
          "optimalParameters": {
            "$ref": "#/components/schemas/ForecastOptimalParametersResponse"
          }
        },
        "additionalProperties": false
      },
      "TimeSeriesOutliersResponse": {
        "type": "object",
        "properties": {
          "timeSeriesId": {
            "type": "string",
            "nullable": true
          },
          "outliers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutlierResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ToggleRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ToggleUserRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean"
          },
          "entityId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      }
    }
  }
}