{
  "openapi": "3.0.1",
  "info": {
    "title": "Board Foresight API - V1",
    "description": "",
    "version": "v1"
  },
  "paths": {
    "/alerts": {
      "get": {
        "tags": [
          "Alert"
        ],
        "description": "Retrieves alert history",
        "parameters": [
          {
            "name": "LookbackDays",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 90
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlertHistory"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlertHistory"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlertHistory"
                  }
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/alertdefinitions": {
      "get": {
        "tags": [
          "AlertDefinition"
        ],
        "description": "Retrieves all the alert definitions for the current company.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlertDefinition"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlertDefinition"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AlertDefinition"
                  }
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/{id}": {
      "get": {
        "tags": [
          "AlertDefinition"
        ],
        "description": "Retrieves the alert definition for the given alert definition ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/analysisjobs": {
      "get": {
        "tags": [
          "AnalysisJob"
        ],
        "responses": {
          "410": {
            "description": "Gone"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        },
        "deprecated": true
      }
    },
    "/analysisjob/{AnalysisJobId}/{ReturnData}": {
      "get": {
        "tags": [
          "AnalysisJob"
        ],
        "parameters": [
          {
            "name": "AnalysisJobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ReturnData",
            "in": "path",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "410": {
            "description": "Gone"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        },
        "deprecated": true
      }
    },
    "/componentcontributionoverridevalues/{forecastModelId}": {
      "get": {
        "tags": [
          "ComponentContributionOverrideValues"
        ],
        "summary": "Retrieves all Contribution Override Values for a given locked model",
        "parameters": [
          {
            "name": "forecastModelId",
            "in": "path",
            "description": "Forecast Model Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "If Contribution Override Values were retrieved successfully",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ComponentContributionOverrideValues"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ComponentContributionOverrideValues"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ComponentContributionOverrideValues"
                  }
                }
              }
            }
          },
          "401": {
            "description": "If the user isn't authenticated"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "If model wasn't found"
          },
          "422": {
            "description": "Forecast model is expired or is not a production model"
          },
          "429": {
            "description": "If the user has sent too many requests"
          },
          "400": {
            "description": "If model is not locked"
          }
        }
      },
      "delete": {
        "tags": [
          "ComponentContributionOverrideValues"
        ],
        "summary": "Deletes all Component Contribution Override Values for a given locked model",
        "parameters": [
          {
            "name": "forecastModelId",
            "in": "path",
            "description": "Forecast Model Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "If Contribution Override Values were deleted successfully"
          },
          "401": {
            "description": "If the user isn't authenticated"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "If model wasn't found"
          },
          "422": {
            "description": "Forecast model is expired or is not a production model"
          },
          "429": {
            "description": "If the user has sent too many requests"
          },
          "400": {
            "description": "If model is not locked"
          }
        }
      }
    },
    "/componentcontributionoverridevalues": {
      "post": {
        "tags": [
          "ComponentContributionOverrideValues"
        ],
        "summary": "Creates Component Contribution Override Values for a given locked model",
        "requestBody": {
          "description": "Component Contribution Override Values",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ComponentContributionOverrideValuesRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ComponentContributionOverrideValuesRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ComponentContributionOverrideValuesRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ComponentContributionOverrideValuesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "If Contribution Override Values were retrieved successfully",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ComponentContributionOverrideValues"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ComponentContributionOverrideValues"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ComponentContributionOverrideValues"
                }
              }
            }
          },
          "401": {
            "description": "If the user isn't authenticated"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "If model wasn't found"
          },
          "422": {
            "description": "Forecast model is expired or is not a production model"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/context": {
      "get": {
        "tags": [
          "Context"
        ],
        "summary": "Retrieves current User Context (Company, Features, Roles, User)",
        "description": "User context",
        "responses": {
          "200": {
            "description": "If the User context was retrieved successfully",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Context"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Context"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Context"
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          },
          "401": {
            "description": "If the user isn't authenticated"
          },
          "403": {
            "description": "If the user isn't authorized for such action"
          }
        }
      }
    },
    "/clientdimensions": {
      "get": {
        "tags": [
          "DataIntegration"
        ],
        "description": "The complete list of client dimension groups available for data import. Contains dimension and hierarchy information",
        "parameters": [
          {
            "name": "request",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ClientDimensions"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/importclientdata/{ClientDimensionGroupId}/{ShouldDeleteExistingRecords}": {
      "post": {
        "tags": [
          "DataIntegration"
        ],
        "description": "Imports a client data file into the system.  The file should be posted as part of a 'multipart/form-data'-encoded request.  Only one file may be posted per request.\r\n        The file should contain all the fields described in the mapping of client dimension group it contains data for, in addition to 'date', 'measure' and 'value' fields.",
        "parameters": [
          {
            "name": "ShouldDeleteExistingRecords",
            "in": "path",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "ShouldReplaceRecordIfExists",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "ClientDimensionGroupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "InlineData",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/validateclientdata/{ClientDimensionGroupId}": {
      "post": {
        "tags": [
          "DataIntegration"
        ],
        "description": "Validates a client data file against a client dimension group.  The file should be posted as part of a 'multipart/form-data'-encoded request.  Only one file may be posted per request.\r\n        The file should contain all the fields described in the mapping of client dimension group it contains data for, in addition to 'date', 'measure' and 'value' fields.",
        "parameters": [
          {
            "name": "ShouldDeleteExistingRecords",
            "in": "query",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "ShouldReplaceRecordIfExists",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "ClientDimensionGroupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "InlineData",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/discover/jobs": {
      "get": {
        "tags": [
          "DiscoverJob"
        ],
        "description": "Retrieves a list of v2 discover jobs",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DiscoverJob"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DiscoverJob"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DiscoverJob"
                  }
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/discover/search/{definitionId}": {
      "get": {
        "tags": [
          "DiscoverJob"
        ],
        "summary": "Searches latest discover results for a given definition id",
        "parameters": [
          {
            "name": "definitionId",
            "in": "path",
            "description": "Definition id for the discover job (found in app url for discover job or discover/jobs endpoint)",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Query",
            "in": "query",
            "description": "String query identical to the search box in the application, defaults to *",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "description": "Desired page defaults to 0",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Desired page size, maximum of 1000 defaults to 20",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Frequency",
            "in": "query",
            "description": "Setting this will return only indicators with a matching base Frequency, blank ignores the filter",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Seasonality",
            "in": "query",
            "description": "Setting this will return only indicators with matching Seasonality, blank ignores the filter",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "InternalOnly",
            "in": "query",
            "description": "Setting this flag to true will only return internal indicators, default is false",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Classification",
            "in": "query",
            "description": "Setting this will return only indicators with matching Classification, blank ignores the filter",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "MinimumOverlap",
            "in": "query",
            "description": "Minimum overlap percentage filter, Defaults to 100",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DiscoverSearchResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DiscoverSearchResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DiscoverSearchResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProblemDetails"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/aggregationmethods": {
      "get": {
        "tags": [
          "Enumeration"
        ],
        "description": "The complete list of aggregation methods in the system.",
        "responses": {
          "200": {
            "description": "OK"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/calculations": {
      "get": {
        "tags": [
          "Enumeration"
        ],
        "description": "The complete list of calculations in the system.",
        "responses": {
          "200": {
            "description": "OK"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/frequencies": {
      "get": {
        "tags": [
          "Enumeration"
        ],
        "description": "The complete list of frequencies which may be applied to an Indicator in the system.",
        "responses": {
          "200": {
            "description": "OK"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/seasonalities": {
      "get": {
        "tags": [
          "Enumeration"
        ],
        "description": "The complete list of seasonalities which may be specified for an Indicator in the system.",
        "responses": {
          "200": {
            "description": "OK"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/forecastmodeltypes": {
      "get": {
        "tags": [
          "Enumeration"
        ],
        "description": "The complete list of forecast model types which may be specified for a Forecast Model in the system.",
        "responses": {
          "200": {
            "description": "OK"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/classifications": {
      "get": {
        "tags": [
          "Enumeration"
        ],
        "description": "The complete list of classifications which may be applied to an Indicator in the system.",
        "responses": {
          "200": {
            "description": "OK"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/favorites": {
      "get": {
        "tags": [
          "Favorites"
        ],
        "description": "Retrieves all the favorites-lists for the company",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FavoriteInfo"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FavoriteInfo"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FavoriteInfo"
                  }
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/favorite/{Id}": {
      "get": {
        "tags": [
          "Favorites"
        ],
        "description": "Retrieves the specified favorite",
        "parameters": [
          {
            "name": "Id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Favorite"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Favorite"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Favorite"
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/favorites/dimensions/{Id}": {
      "get": {
        "tags": [
          "Favorites"
        ],
        "description": "Retrieves each indicator in the specified favorites list with its path split into dimensions and its date/value series",
        "parameters": [
          {
            "name": "Id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FavoriteDimensions"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FavoriteDimensions"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FavoriteDimensions"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "Not Found"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/backtest": {
      "get": {
        "tags": [
          "ForecastModel"
        ],
        "description": "Performs a backtest on the supplied model id",
        "parameters": [
          {
            "name": "ForecastModelId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "AsOfDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "TargetHorizon",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "410": {
            "description": "Gone"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        },
        "deprecated": true
      }
    },
    "/forecastmodel/{ForecastModelId}": {
      "get": {
        "tags": [
          "ForecastModel"
        ],
        "summary": "Retrieves information for a single model given the ID",
        "description": "This endpoint is used to pull information about an individual model accessible to the API key.\r\n\r\n\r\nThe response includes model metadata, information about the dependent variable or Primary Indicator and independent or Explanatory Indicators including offsets and display values.",
        "parameters": [
          {
            "name": "ForecastModelId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastModelInfo"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseMessage"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseMessage"
                }
              }
            }
          },
          "422": {
            "description": "Model is expired or in a non-production state",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseMessage"
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/forecastmodels": {
      "get": {
        "tags": [
          "ForecastModel"
        ],
        "summary": "Retrieves the list of accessible forecast models for the user",
        "description": "Retrieves the list of accessible forecast models for the user",
        "parameters": [
          {
            "name": "tags",
            "in": "query",
            "description": "Provide of list of tags to filter by. Only models with at least one of the provided tags will be returned",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "states",
            "in": "query",
            "description": "Provide a list of states to filter by. Only models with one of the provided states will be returned. \r\n            Hold CTRL or Command key to select multiple model states\r\n            \r\n\r\n            0 = Draft\r\n            \r\n\r\n            1 = Archive\r\n            \r\n\r\n            2 = Production",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ModelState"
              }
            }
          },
          {
            "name": "generateSummary",
            "in": "query",
            "description": "If true, generates a brief summary of each model. This will increase the time for a response by 7 seconds per model.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ForecastModelInfo"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ForecastModelInfo"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ForecastModelInfo"
                  }
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/rawmodel/{ForecastModelId}": {
      "get": {
        "tags": [
          "ForecastModel"
        ],
        "description": "Retrieves the component data of a forecast model",
        "parameters": [
          {
            "name": "ForecastModelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "UseForecastFrequency",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "ExcludeIndicators",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "AsOfDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastModelComponentInfo"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastModelComponentInfo"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastModelComponentInfo"
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          },
          "422": {
            "description": "Model is expired or in a non-production state"
          }
        }
      }
    },
    "/rawmodel/{ForecastModelId}/{UseForecastFrequency}": {
      "get": {
        "tags": [
          "ForecastModel"
        ],
        "description": "Retrieves the component data of a forecast model",
        "parameters": [
          {
            "name": "ForecastModelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "UseForecastFrequency",
            "in": "path",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "ExcludeIndicators",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "AsOfDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastModelComponentInfo"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastModelComponentInfo"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastModelComponentInfo"
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          },
          "422": {
            "description": "Model is expired or in a non-production state"
          }
        }
      }
    },
    "/model/summary/{ForecastModelId}": {
      "get": {
        "tags": [
          "ForecastModel"
        ],
        "description": "Retrieves the model commentary summary for a forecast model",
        "parameters": [
          {
            "name": "ForecastModelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastModelSummaryInfo"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastModelSummaryInfo"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastModelSummaryInfo"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "422": {
            "description": "Model is expired or in a non-production state"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/model/consistency/{ForecastModelId}": {
      "get": {
        "tags": [
          "ForecastModel"
        ],
        "description": "Retrieves the consistency information for a forecast model",
        "parameters": [
          {
            "name": "ForecastModelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "AsOfDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "UseCalculation",
            "in": "query",
            "description": "When parameter value passed is 'true', this will return the forecast series with the model transformation. When parameter value passed is 'false' or no parameter value is passed, raw values are returned.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastModelConsistencyInfo"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastModelConsistencyInfo"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastModelConsistencyInfo"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "422": {
            "description": "Model is expired or in a non-production state"
          },
          "500": {
            "description": "Internal Server Error"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/forecast/{ForecastModelId}": {
      "get": {
        "tags": [
          "ForecastModel"
        ],
        "description": "Retrieves a forecast",
        "parameters": [
          {
            "name": "ForecastModelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "AsOfDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "UseCalculation",
            "in": "query",
            "description": "When parameter value passed is 'true', this will return the forecast series with the model transformation. When parameter value passed is 'false' or no parameter value is passed, raw values are returned.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Point"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Point"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Point"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Model is expired or in a non-production state"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/model/contribution/{ForecastModelId}": {
      "get": {
        "tags": [
          "ForecastModel"
        ],
        "description": "Retrieves independent variable contribution information",
        "parameters": [
          {
            "name": "ForecastModelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "AsOfDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "UseCalculation",
            "in": "query",
            "description": "When parameter value passed is 'true', this will return the forecast series with the model transformation. When parameter value passed is 'false' or no parameter value is passed, raw values are returned.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ContributionResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContributionResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContributionResult"
                }
              }
            }
          },
          "422": {
            "description": "Model is expired or in a non-production state"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/model/modelhealth/{ForecastModelId}": {
      "post": {
        "tags": [
          "ForecastModel"
        ],
        "summary": "Checks model health for the given model id",
        "description": "The forecast model id must be a locked model of the type segmented or multivariate",
        "parameters": [
          {
            "name": "ForecastModelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ForecastModelHealth"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ForecastModelHealth"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ForecastModelHealth"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ForecastModelHealth"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ModelHealthResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelHealthResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelHealthResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Model is expired or in a non-production state"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/model/impact/{ForecastModelId}": {
      "get": {
        "tags": [
          "ForecastModel"
        ],
        "description": "Retrieves a forecast",
        "parameters": [
          {
            "name": "ForecastModelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "AsOfDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "UseCalculation",
            "in": "query",
            "description": "When parameter value passed is 'true', this will return the forecast series with the model transformation. When parameter value passed is 'false' or no parameter value is passed, raw values are returned.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RelativeImpactInfo"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RelativeImpactInfo"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RelativeImpactInfo"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Model is expired or in a non-production state"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/forecast/risk/{ForecastModelId}": {
      "get": {
        "tags": [
          "ForecastModel"
        ],
        "description": "Retrieves model risk",
        "parameters": [
          {
            "name": "ForecastModelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "AsOfDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "UseCalculation",
            "in": "query",
            "description": "When parameter value passed is 'true', this will return the forecast series with the model transformation. When parameter value passed is 'false' or no parameter value is passed, raw values are returned.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RiskResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RiskResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RiskResult"
                }
              }
            }
          },
          "422": {
            "description": "Model is expired or in a non-production state"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/forecast/riskgrowth/{ForecastModelId}": {
      "get": {
        "tags": [
          "ForecastModel"
        ],
        "description": "Retrieves model risk growth",
        "parameters": [
          {
            "name": "ForecastModelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "AsOfDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "UseCalculation",
            "in": "query",
            "description": "When parameter value passed is 'true', this will return the forecast series with the model transformation. When parameter value passed is 'false' or no parameter value is passed, raw values are returned.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RiskGrowthResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RiskGrowthResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RiskGrowthResult"
                }
              }
            }
          },
          "422": {
            "description": "Model is expired or in a non-production state"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/forecast/statistics/{ForecastModelId}": {
      "get": {
        "tags": [
          "ForecastModel"
        ],
        "description": "Retrieves model statistics",
        "parameters": [
          {
            "name": "ForecastModelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "AsOfDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "UseCalculation",
            "in": "query",
            "description": "When parameter value passed is 'true', this will return the forecast series with the model transformation. When parameter value passed is 'false' or no parameter value is passed, raw values are returned.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StatisticsResult"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StatisticsResult"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StatisticsResult"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Model is expired or in a non-production state"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/forecast/modelscore/{ForecastModelId}": {
      "get": {
        "tags": [
          "ForecastModel"
        ],
        "description": "Retrieves model score",
        "parameters": [
          {
            "name": "ForecastModelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "AsOfDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "UseCalculation",
            "in": "query",
            "description": "When parameter value passed is 'true', this will return the forecast series with the model transformation. When parameter value passed is 'false' or no parameter value is passed, raw values are returned.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ModelScore"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelScore"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelScore"
                }
              }
            }
          },
          "422": {
            "description": "Model is expired or in a non-production state"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/forecast/logcontribution/{ForecastModelId}": {
      "get": {
        "tags": [
          "ForecastModel"
        ],
        "summary": "Retrieves a log forecast model contribution",
        "description": "Retrieves a log model contribution",
        "parameters": [
          {
            "name": "FiscalYearStart",
            "in": "query",
            "description": "Fiscal year start specifies the fiscal year start month to aggregate values. The default start month is January.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "PeriodOverPeriod",
            "in": "query",
            "description": "When set to true, this will change values to Period over Period lift basis for CCR calculation. The default is false.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "ForecastModelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "AsOfDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "UseCalculation",
            "in": "query",
            "description": "When parameter value passed is 'true', this will return the forecast series with the model transformation. When parameter value passed is 'false' or no parameter value is passed, raw values are returned.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VolumeDecompResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VolumeDecompResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VolumeDecompResult"
                }
              }
            }
          },
          "422": {
            "description": "Model is expired or in a non-production state"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/forecastmodelhistory/{ForecastModelId}": {
      "get": {
        "tags": [
          "ForecastModelHistory"
        ],
        "description": "Retrieves the forecast model's history",
        "parameters": [
          {
            "name": "ForecastModelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastModelHistory"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastModelHistory"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastModelHistory"
                }
              }
            }
          },
          "422": {
            "description": "Model is expired or in a non-production state"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/summaries": {
      "get": {
        "tags": [
          "ForecastSummary"
        ],
        "responses": {
          "410": {
            "description": "Gone"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        },
        "deprecated": true
      }
    },
    "/forecast/summary/{forecastSummaryId}": {
      "get": {
        "tags": [
          "ForecastSummary"
        ],
        "parameters": [
          {
            "name": "forecastSummaryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "410": {
            "description": "Gone"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        },
        "deprecated": true
      }
    },
    "/indicator/composite/definition/{Provider}/{ProviderId}": {
      "get": {
        "tags": [
          "Indicator"
        ],
        "summary": "Retrieves the definition of a composite indicator",
        "description": "Retrieves the definition for a given composite indicator in the system",
        "parameters": [
          {
            "name": "Provider",
            "in": "path",
            "description": "Unique Identifier for Provider",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProviderId",
            "in": "path",
            "description": "Identifier for specific indicator",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CompositeDefinition"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompositeDefinition"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompositeDefinition"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseMessage"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseMessage"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseMessage"
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      },
      "put": {
        "tags": [
          "Indicator"
        ],
        "summary": "Updates the definition of a composite indicator",
        "description": "updates the definition for a given composite indicator in the system",
        "parameters": [
          {
            "name": "Provider",
            "in": "path",
            "description": "Unique Identifier for Provider",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProviderId",
            "in": "path",
            "description": "Identifier for specific indicator",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Composite indicator definition",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CompositeDefinitionUpdateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompositeDefinitionUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompositeDefinitionUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompositeDefinitionUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CompositeDefinitionUpdateResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompositeDefinitionUpdateResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompositeDefinitionUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResponseMessage"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResponseMessage"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResponseMessage"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResponseMessage"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResponseMessage"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResponseMessage"
                  }
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/indicator/composite/definition": {
      "post": {
        "tags": [
          "Indicator"
        ],
        "summary": "Creates a composite indicator",
        "description": "creates a composite indicator",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CompositeDefinitionCreateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompositeDefinitionCreateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompositeDefinitionCreateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompositeDefinitionCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CompositeDefinition"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompositeDefinition"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompositeDefinition"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResponseMessage"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResponseMessage"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResponseMessage"
                  }
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/indicator/{Provider}/{ProviderId}": {
      "get": {
        "tags": [
          "Indicator"
        ],
        "description": "Retrieves metadata for a given indicator in the system",
        "parameters": [
          {
            "name": "Provider",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProviderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Indicator"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Indicator"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Indicator"
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/indicator/series/{Provider}/{ProviderId}": {
      "get": {
        "tags": [
          "Indicator"
        ],
        "description": "Retrieves time-series data for a given indicator in the system",
        "parameters": [
          {
            "name": "Provider",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ProviderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Calculation",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Frequency",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "StartDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "EndDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Point"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Point"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Point"
                  }
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/indicator/series/transform": {
      "post": {
        "tags": [
          "Indicator"
        ],
        "description": "Retrieves time-series data for a given indicator in the system with transformations applied",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/IndicatorTransformation"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IndicatorTransformation"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/IndicatorTransformation"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/IndicatorTransformation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Point"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Point"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Point"
                  }
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/correlation/{FixedProvider}/{FixedProviderId}/{LeadingProvider}/{LeadingProviderId}/{Frequency}/{Calculation}": {
      "get": {
        "tags": [
          "Indicator"
        ],
        "description": "Generates correlation data by comparing two indicators",
        "parameters": [
          {
            "name": "FixedProvider",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "FixedProviderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "LeadingProvider",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "LeadingProviderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Frequency",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Calculation",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CorrelationSet"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CorrelationSet"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CorrelationSet"
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/search": {
      "get": {
        "tags": [
          "Indicator"
        ],
        "description": "retrieves indicators based on search criteria",
        "parameters": [
          {
            "name": "Frequency",
            "in": "query",
            "description": "A frequency value to filter search results by. <seealso cref=\"T:Prevedere.Analytics.Domain.Enum.Frequency\" />",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Calculation",
            "in": "query",
            "description": "A calculation value to filter search results by. <seealso cref=\"T:Prevedere.Analytics.Domain.Enum.Calculation\" />",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Seasonality",
            "in": "query",
            "description": "A seasonality value to filter search results by. <seealso cref=\"T:Prevedere.Analytics.Domain.Enum.Seasonality\" />",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Internal",
            "in": "query",
            "description": "A flag for returning internal company data sets",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "IncludeForecasted",
            "in": "query",
            "description": "A flag for returning forecasted indicators in the search results.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "default": "*"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/IndicatorSearchResults"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IndicatorSearchResults"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/IndicatorSearchResults"
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/indicator/create": {
      "post": {
        "tags": [
          "Indicator"
        ],
        "description": "creates a new indicator.",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/IndicatorCreate"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IndicatorCreate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/IndicatorCreate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/IndicatorCreate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Indicator"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Indicator"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Indicator"
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/indicator/update": {
      "put": {
        "tags": [
          "Indicator"
        ],
        "description": "updates one or more indicators.",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/BulkIndicatorUpdateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkIndicatorUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkIndicatorUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BulkIndicatorUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/provider": {
      "get": {
        "tags": [
          "Provider"
        ],
        "description": "Retrieves complete list of providers with data in the system. A provider is an entity or organization that publishes indicator data",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Provider"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Provider"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Provider"
                  }
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/scenarios": {
      "get": {
        "tags": [
          "Scenario"
        ],
        "description": "Retrieves a list of scenarios names and Ids for a user's company",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ScenarioListing"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ScenarioListing"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ScenarioListing"
                  }
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/scenario/{scenarioId}": {
      "get": {
        "tags": [
          "Scenario"
        ],
        "description": "Retrieves a scenario by its Id",
        "parameters": [
          {
            "name": "scenarioId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ScenarioLite"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScenarioLite"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScenarioLite"
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/tag": {
      "get": {
        "tags": [
          "Tag"
        ],
        "description": "Retrieve a list of indicator tags",
        "parameters": [
          {
            "name": "Internal",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/test": {
      "get": {
        "tags": [
          "Test"
        ],
        "description": "Echos a message string for testing purposes",
        "parameters": [
          {
            "name": "Echo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/company": {
      "get": {
        "tags": [
          "UserContext"
        ],
        "summary": "Retrieves all companies for authenticated user",
        "description": "The company information associated with the user",
        "responses": {
          "200": {
            "description": "If the companies were retrieved successfully",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Company"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Company"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Company"
                  }
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          },
          "401": {
            "description": "If the user isn't authenticated"
          },
          "403": {
            "description": "If the user isn't authorized for such action"
          }
        }
      }
    },
    "/company/{CompanyId}": {
      "put": {
        "tags": [
          "UserContext"
        ],
        "description": "Switch company context",
        "parameters": [
          {
            "name": "CompanyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/workbench/{WorkbenchId}": {
      "get": {
        "tags": [
          "Workbench"
        ],
        "description": "Retrieve the workbench information for the given workbench id",
        "parameters": [
          {
            "name": "WorkbenchId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Workbench"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Workbench"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Workbench"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseMessage"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseMessage"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseMessage"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseMessage"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseMessage"
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/workbench/update": {
      "put": {
        "tags": [
          "Workbench"
        ],
        "description": "Update or add an indicator to the existing workbench specified by the given ID.",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWorkbenchIndicatorRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWorkbenchIndicatorRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWorkbenchIndicatorRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWorkbenchIndicatorRequest"
              }
            }
          }
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResponseMessage"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResponseMessage"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResponseMessage"
                  }
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/workbench/series/{WorkbenchId}": {
      "get": {
        "tags": [
          "Workbench"
        ],
        "description": "Retrieve the workbench series information for the given workbench id and categories",
        "parameters": [
          {
            "name": "WorkbenchId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "includeHidden",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "categoryNames",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "categoryIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/WorkbenchSeries"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkbenchSeries"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkbenchSeries"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseMessage"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseMessage"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseMessage"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseMessage"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseMessage"
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    },
    "/workbenches": {
      "get": {
        "tags": [
          "Workbench"
        ],
        "description": "Retrieves the list of accessible workbenches for the company",
        "parameters": [
          {
            "name": "Query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "default": "*"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/WorkbenchInfoSearchResults"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkbenchInfoSearchResults"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkbenchInfoSearchResults"
                }
              }
            }
          },
          "429": {
            "description": "If the user has sent too many requests"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AggregationMethod": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6
        ],
        "type": "integer",
        "format": "int32"
      },
      "AlertDefinition": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "createDate": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "owner": {
            "type": "string",
            "nullable": true
          },
          "lastModifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "targetIndicator": {
            "$ref": "#/components/schemas/Indicator"
          },
          "targetForecastModelId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "calculationType": {
            "$ref": "#/components/schemas/Calculation"
          },
          "comparer": {
            "type": "string",
            "nullable": true
          },
          "threshold": {
            "type": "number",
            "format": "double"
          },
          "timeframe": {
            "type": "integer",
            "format": "int32"
          },
          "companyId": {
            "type": "string",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "notificationEmails": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "containingEntityId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "containingEntityType": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AlertHistory": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "companyId": {
            "type": "string",
            "format": "uuid"
          },
          "alertDate": {
            "type": "string",
            "format": "date-time"
          },
          "value": {
            "type": "number",
            "format": "double"
          },
          "time": {
            "type": "string",
            "format": "date-time"
          },
          "alertMessage": {
            "type": "string",
            "nullable": true
          },
          "alertDefinitionId": {
            "type": "string",
            "format": "uuid"
          },
          "targetIndicatorProvider": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "targetIndicatorProviderId": {
            "type": "string",
            "nullable": true
          },
          "targetForecastModelId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "containingEntityType": {
            "type": "string",
            "nullable": true
          },
          "containingEntityId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "contextMessages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BaseIndicatorMetadataWithFrequencyRequest": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "description": "Unique identifier for provider",
            "nullable": true
          },
          "providerId": {
            "type": "string",
            "description": "Indicator Identifier",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Indicator Name",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Indicator Description",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "description": "Indicator Notes",
            "nullable": true
          },
          "units": {
            "type": "string",
            "description": "Indicator Units of measurement",
            "nullable": true
          },
          "citation": {
            "type": "string",
            "description": "Indicator Citation",
            "nullable": true
          },
          "path": {
            "type": "string",
            "description": "Path of indicator in Prevedere folder structure",
            "nullable": true
          },
          "color": {
            "type": "string",
            "description": "Color code to be used in the Prevedere application",
            "nullable": true
          },
          "aggregation": {
            "type": "string",
            "description": "Aggregation method used for indicator time series",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags assigned to help organize indicator",
            "nullable": true
          },
          "industryCodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndustryCode"
            },
            "description": "Industry codes assigned to indicator",
            "nullable": true
          },
          "classification": {
            "type": "string",
            "description": "Prevedere Classification for indicator",
            "nullable": true
          },
          "seasonalAdjustment": {
            "type": "string",
            "description": "Identifies if indicator is seasonally adjusted",
            "nullable": true
          },
          "periodAlignment": {
            "type": "string",
            "description": "Identifies if time series aligns with the beginning or end of time period",
            "nullable": true
          },
          "interval": {
            "type": "string",
            "description": "Name and multiple used to describe period length of indicator the time series, similar to frequency",
            "nullable": true
          },
          "frequency": {
            "type": "string",
            "description": "Frequency of indicator time series",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BiasResult": {
        "type": "object",
        "properties": {
          "scoreBias": {
            "type": "number",
            "format": "double"
          },
          "impactBiasSampleSize": {
            "type": "number",
            "format": "double"
          },
          "impactBiasCooksD": {
            "type": "number",
            "format": "double"
          },
          "impactBiasBreuschGodfrey": {
            "type": "number",
            "format": "double"
          },
          "impactBiasPredRSquare": {
            "type": "number",
            "format": "double"
          },
          "impactBiasLinearity": {
            "type": "number",
            "format": "double"
          },
          "impactBiasMaxVif": {
            "type": "number",
            "format": "double"
          },
          "impactBiasTransformation": {
            "type": "number",
            "format": "double"
          },
          "biasNoneTransformation": {
            "type": "number",
            "format": "double"
          },
          "biasYoyTransformation": {
            "type": "number",
            "format": "double"
          },
          "biasedSampleSize": {
            "type": "number",
            "format": "double"
          },
          "breuschGodfrey": {
            "type": "number",
            "format": "double"
          },
          "biasedMaxVIF": {
            "type": "number",
            "format": "double"
          },
          "biasedPredictiveRSquared1": {
            "type": "number",
            "format": "double"
          },
          "biasedPredictiveRSquared2": {
            "type": "number",
            "format": "double"
          },
          "biasedCooksDPercentage": {
            "type": "number",
            "format": "double"
          },
          "biasedMeanPValue": {
            "type": "number",
            "format": "double"
          },
          "biasedLinearityDummyVariable": {
            "type": "integer",
            "format": "int32"
          },
          "normalizedBiasComponent": {
            "type": "number",
            "format": "double"
          },
          "biasComponent": {
            "type": "number",
            "format": "double"
          },
          "normalizedBiasedCoefficientDifference": {
            "type": "number",
            "format": "double"
          },
          "biasedModelAdjustment": {
            "type": "number",
            "format": "double"
          },
          "biasedActualAdjustment": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "BuilderMessage": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/MessageType"
          }
        },
        "additionalProperties": false
      },
      "BulkIndicatorUpdateRequest": {
        "type": "object",
        "properties": {
          "indicators": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/IndicatorUpdateRequest"
            },
            "nullable": true
          }
        },
        "additionalProperties": false,
        "example": {
          "indicators": {
            "indicator1": {
              "provider": "18A87A77-8CB8-4637-A5C3-004089CE0F11",
              "providerId": "ABC",
              "notes": "Some notes",
              "description": "A short description",
              "deleteExistingDataRecords": false,
              "classification": "Weather",
              "name": "Some Name",
              "color": "#FF00000",
              "units": "Some Units",
              "seasonalAdjustment": false,
              "aggregation": "Average",
              "citation": "Some citation",
              "path": "Some path",
              "periodAlignment": "Beginning",
              "interval": "MONTH",
              "industryCodes": [
                {
                  "type": "SIC",
                  "code": "123"
                }
              ],
              "tags": [
                "tag1",
                "tag2"
              ],
              "data": [
                {
                  "value": 1.093,
                  "annotation": "",
                  "date": "2022-10-01",
                  "isForecasted": false
                },
                {
                  "Value": 1.163,
                  "Annotation": "Note: Something",
                  "Date": "2022-11-01",
                  "IsForecasted": true
                }
              ]
            },
            "indicator2": {
              "provider": "DF56A04D-5D6D-41DB-B553-8374E4746010",
              "providerId": "CDE",
              "notes": "Some different notes",
              "description": "Description for my indicator",
              "deleteExistingDataRecords": false,
              "classification": "Trade",
              "name": "Different Name",
              "color": "#FF00000",
              "units": "Different Units",
              "seasonalAdjustment": false,
              "aggregation": "Sum",
              "citation": "Different citation",
              "path": "Different path",
              "periodAlignment": "End",
              "interval": "MONTH",
              "industryCodes": [
                {
                  "type": "Nace",
                  "code": "AB"
                }
              ],
              "tags": [
                "Tag4",
                "Tag8"
              ],
              "data": [
                {
                  "value": 10867.093,
                  "annotation": "",
                  "date": "2020-08-01",
                  "isForecasted": false
                },
                {
                  "value": 187564.163,
                  "annotation": "Something happened here.",
                  "date": "2020-09-01",
                  "isForecasted": true
                }
              ]
            }
          }
        }
      },
      "Calculation": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8
        ],
        "type": "integer",
        "description": "The transformation applied to the data.\r\n\r\n\r\nPossible options:\r\n\r\n\r\nNone 1\r\n\r\n\r\nPeriodOverPeriod 2\r\n\r\n\r\nYearOverYear 3\r\n\r\n\r\nThreePeriodYearOverYear 6",
        "format": "int32"
      },
      "Classification": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10
        ],
        "type": "integer",
        "format": "int32"
      },
      "ClientDimensions": {
        "type": "object",
        "additionalProperties": false
      },
      "Coefficient": {
        "type": "object",
        "properties": {
          "value": {
            "type": "number",
            "format": "double"
          },
          "standardError": {
            "type": "number",
            "format": "double"
          },
          "tValue": {
            "type": "number",
            "format": "double"
          },
          "confidence95": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "indicatorName": {
            "type": "string",
            "nullable": true
          },
          "dates": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "date-time"
            },
            "nullable": true
          },
          "pValue": {
            "type": "number",
            "format": "double"
          },
          "vif": {
            "type": "number",
            "format": "double"
          },
          "cooksDistanceCoefficient": {
            "type": "number",
            "format": "double"
          },
          "quadraticPValue": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "CoefficientInfo": {
        "type": "object",
        "properties": {
          "indicatorKey": {
            "$ref": "#/components/schemas/IndicatorKey"
          },
          "value": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Company": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "prefix": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createDate": {
            "type": "string",
            "format": "date-time"
          },
          "id": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "ComponentContribution": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "value": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "ComponentContributionFrequency": {
        "enum": [
          1,
          2,
          4,
          12,
          52
        ],
        "type": "integer",
        "description": "The frequency of the data.\r\n\r\n\r\nWeekly: 52\r\n\r\n\r\nMonthly: 12\r\n\r\n\r\nQuarterly: 4\r\n\r\n\r\nSemiAnnual: 2\r\n\r\n\r\nAnnual: 1",
        "format": "int32"
      },
      "ComponentContributionOverrideValues": {
        "type": "object",
        "properties": {
          "forecastModelId": {
            "type": "string",
            "format": "uuid"
          },
          "frequency": {
            "$ref": "#/components/schemas/Frequency"
          },
          "entryId": {
            "type": "string",
            "format": "uuid"
          },
          "contributionPeriods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComponentContribution"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ComponentContributionOverrideValuesRequest": {
        "type": "object",
        "properties": {
          "forecastModelId": {
            "type": "string",
            "description": "The id of the forecast model that will have its Component Contribution values overridden.",
            "format": "uuid"
          },
          "frequency": {
            "$ref": "#/components/schemas/ComponentContributionFrequency"
          },
          "entryId": {
            "type": "string",
            "description": "The entry id of the indicator that will have its value overridden.",
            "format": "uuid"
          },
          "contributionPeriods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComponentContribution"
            },
            "description": "A list of override values, with a date and value for each.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ComponentInformation": {
        "type": "object",
        "properties": {
          "deprecated": {
            "type": "boolean"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "provider": {
            "type": "string",
            "format": "uuid"
          },
          "providerId": {
            "type": "string",
            "nullable": true
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "values": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CompositeDefinition": {
        "type": "object",
        "properties": {
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CompositeIndicatorEntry"
            },
            "description": "A list of indicators used in the composite formula.",
            "nullable": true
          },
          "formula": {
            "type": "string",
            "description": "Formula for composite Indicator",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "description": "Start Date of Composite Indicator",
            "format": "date-time",
            "nullable": true
          },
          "compositeMetadata": {
            "$ref": "#/components/schemas/CompositeMetadata"
          }
        },
        "additionalProperties": false,
        "description": "This schema contains the definition of a composite indicator. It includes the formula, start date and information for each indicator used in the formula."
      },
      "CompositeDefinitionCreateRequest": {
        "type": "object",
        "properties": {
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CompositeEntryUpdateRequest"
            },
            "description": "Indicator Entries that are used in the composite formula",
            "nullable": true
          },
          "formula": {
            "type": "string",
            "description": "Formula for composite Indicator where each variable represents a CompositeIndicatorEntry",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "description": "Optional Start Date of Composite, when blank the series will start on the first common date across variables",
            "format": "date-time",
            "nullable": true
          },
          "compositeMetadata": {
            "$ref": "#/components/schemas/CompositeMetadataCreateRequest"
          }
        },
        "additionalProperties": false,
        "description": "Request used to create a composite indicator"
      },
      "CompositeDefinitionUpdateRequest": {
        "type": "object",
        "properties": {
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CompositeEntryUpdateRequest"
            },
            "description": "Indicator Entries that are used in the composite formula",
            "nullable": true
          },
          "formula": {
            "type": "string",
            "description": "Formula for composite Indicator where each variable represents a CompositeIndicatorEntry",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "description": "Optional Start Date of Composite, when blank the series will start on the first common date across variables",
            "format": "date-time",
            "nullable": true
          },
          "compositeMetadata": {
            "$ref": "#/components/schemas/BaseIndicatorMetadataWithFrequencyRequest"
          }
        },
        "additionalProperties": false,
        "description": "Request used to update the formula of an existing composite indicator, the mix of indicators used as variables in the composite formula, or metadata about the composite indicator."
      },
      "CompositeDefinitionUpdateResponse": {
        "type": "object",
        "properties": {
          "compositeDefinition": {
            "$ref": "#/components/schemas/CompositeDefinition"
          },
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResponseMessage"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CompositeEntryUpdateRequest": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "description": "Unique Identifier for Provider.",
            "nullable": true
          },
          "providerId": {
            "type": "string",
            "description": "Identifier for indicator",
            "nullable": true
          },
          "offset": {
            "type": "integer",
            "description": "Offset applied to indicator",
            "format": "int32"
          },
          "calculation": {
            "type": "string",
            "description": "Calculation of indicator",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CompositeIndicatorEntry": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "description": "Unique Identifier for Provider.",
            "nullable": true
          },
          "providerId": {
            "type": "string",
            "description": "Identifier for indicator",
            "nullable": true
          },
          "offset": {
            "type": "integer",
            "description": "Offset applied to indicator",
            "format": "int32"
          },
          "calculation": {
            "type": "string",
            "description": "Calculation of indicator",
            "nullable": true
          },
          "variableName": {
            "type": "string",
            "description": "Variable name for indicator that is reference in the formula",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CompositeMetadata": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "description": "Unique identifier for provider",
            "nullable": true
          },
          "providerId": {
            "type": "string",
            "description": "Indicator Identifier",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Indicator Name",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Indicator Description",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "description": "Indicator Notes",
            "nullable": true
          },
          "units": {
            "type": "string",
            "description": "Indicator Units of measurement",
            "nullable": true
          },
          "citation": {
            "type": "string",
            "description": "Indicator Citation",
            "nullable": true
          },
          "path": {
            "type": "string",
            "description": "Path of indicator in Prevedere folder structure",
            "nullable": true
          },
          "color": {
            "type": "string",
            "description": "Color code to be used in the Prevedere application",
            "nullable": true
          },
          "aggregation": {
            "type": "string",
            "description": "Aggregation method used for indicator time series",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags assigned to help organize indicator",
            "nullable": true
          },
          "industryCodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndustryCode"
            },
            "description": "Industry codes assigned to indicator",
            "nullable": true
          },
          "classification": {
            "type": "string",
            "description": "Classification for indicator",
            "nullable": true
          },
          "seasonalAdjustment": {
            "type": "string",
            "description": "Identifies if indicator is seasonally adjusted",
            "nullable": true
          },
          "periodAlignment": {
            "type": "string",
            "description": "Identifies if time series aligns with the beginning or end of time period",
            "nullable": true
          },
          "interval": {
            "type": "string",
            "description": "Name and multiple used to describe period length of indicator time series, similar to frequency",
            "nullable": true
          },
          "frequency": {
            "type": "string",
            "description": "Frequency of indicator time series",
            "nullable": true
          },
          "calculation": {
            "type": "string",
            "description": "Calculation of composite indicator",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "This schema contains the metadata for the composite indicator"
      },
      "CompositeMetadataCreateRequest": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "description": "Unique identifier for provider",
            "nullable": true
          },
          "providerId": {
            "type": "string",
            "description": "Indicator Identifier",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Indicator Name",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Indicator Description",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "description": "Indicator Notes",
            "nullable": true
          },
          "units": {
            "type": "string",
            "description": "Indicator Units of measurement",
            "nullable": true
          },
          "citation": {
            "type": "string",
            "description": "Indicator Citation",
            "nullable": true
          },
          "path": {
            "type": "string",
            "description": "Path of indicator in Prevedere folder structure",
            "nullable": true
          },
          "color": {
            "type": "string",
            "description": "Color code to be used in the Prevedere application",
            "nullable": true
          },
          "aggregation": {
            "type": "string",
            "description": "Aggregation method used for indicator time series",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags assigned to help organize indicator",
            "nullable": true
          },
          "industryCodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndustryCode"
            },
            "description": "Industry codes assigned to indicator",
            "nullable": true
          },
          "classification": {
            "type": "string",
            "description": "Prevedere Classification for indicator",
            "nullable": true
          },
          "seasonalAdjustment": {
            "type": "string",
            "description": "Identifies if indicator is seasonally adjusted",
            "nullable": true
          },
          "periodAlignment": {
            "type": "string",
            "description": "Identifies if time series aligns with the beginning or end of time period",
            "nullable": true
          },
          "interval": {
            "type": "string",
            "description": "Name and multiple used to describe period length of indicator the time series, similar to frequency",
            "nullable": true
          },
          "frequency": {
            "type": "string",
            "description": "Frequency of indicator time series",
            "nullable": true
          },
          "calculation": {
            "type": "string",
            "description": "Calculation of composite indicator",
            "nullable": true
          },
          "projectId": {
            "type": "string",
            "description": "Optional Project ID to associate the indicator with a specific project",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Context": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "company": {
            "$ref": "#/components/schemas/Company"
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "features": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Feature"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ContributionPeriod": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "errorFlag": {
            "type": "boolean"
          },
          "errorText": {
            "type": "string",
            "nullable": true
          },
          "yearOverYear": {
            "type": "number",
            "format": "double"
          },
          "unexplained": {
            "type": "number",
            "format": "double"
          },
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndicatorContribution"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ContributionResult": {
        "type": "object",
        "properties": {
          "forecast": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          },
          "componentContributions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndicatorValues"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ControlChartErrors": {
        "type": "object",
        "properties": {
          "error_flag": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "error_text": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ControlChartMeta": {
        "type": "object",
        "properties": {
          "average_residual": {
            "type": "number",
            "description": "Average Residual Calculated by the control chart. Should always be zero",
            "format": "double",
            "nullable": true
          },
          "ucl3": {
            "type": "number",
            "description": "Upper Control Limit 3- This is 3 standard deviations above the mean and will be the value of one of the control lines in the chart in the app. Calculation: Average_Resid + 3 * stand_dev_resid.",
            "format": "double",
            "nullable": true
          },
          "standard_dev_resid": {
            "type": "number",
            "description": "Standard Deviation of the Residuals calculated by the control chart.Used to calculate the control limits",
            "format": "double",
            "nullable": true
          },
          "lcl3": {
            "type": "number",
            "description": "Lower Control Limit 3- This is 3 standard deviations below the mean and will be the value of one of the control lines in the chart in the app. Calculation: Average_Resid - 3 * stand_dev_resid.",
            "format": "double",
            "nullable": true
          },
          "ucl2": {
            "type": "number",
            "description": "Upper Control Limit 2- This is 2 standard deviations above the mean and will be the value of one of the control lines in the chart in the app. Calculation: Average_Resid + 2 * stand_dev_resid.",
            "format": "double",
            "nullable": true
          },
          "lcl2": {
            "type": "number",
            "description": "Lower Control Limit 2- This is 2 standard deviations below the mean and will be the value of one of the control lines in the chart in the app. Calculation: Average_Resid - 2 * stand_dev_resid.",
            "format": "double",
            "nullable": true
          },
          "ucl1": {
            "type": "number",
            "description": "Upper Control Limit 1- This is 1 standard deviations above the mean and will be the value of one of the control lines in the chart in the app. Calculation: Average_Resid + 1 * stand_dev_resid.",
            "format": "double",
            "nullable": true
          },
          "lcl1": {
            "type": "number",
            "description": "Lower Control Limit 1- This is 1 standard deviations below the mean and will be the value of one of the control lines in the chart in the app. Calculation: Average_Resid - 1 * stand_dev_resid.",
            "format": "double",
            "nullable": true
          },
          "total_violations": {
            "type": "number",
            "description": "Total Number of violations found in the input dataset residuals",
            "format": "double",
            "nullable": true
          },
          "plot_rule1_major_outlier": {
            "type": "number",
            "description": "Flags used as switches in the control chart macro to determine if violation type needs to be plotted in the chart. If so, 'PLOT_RULE1_MAJOR_OUTLIER' will be set to one, otherwise it will be zero.",
            "format": "double",
            "nullable": true
          },
          "plot_rule2_9pos_inarow": {
            "type": "number",
            "description": "Flags used as switches in the control chart macro to determine if violation type needs to be plotted in the chart. If so, 'PLOT_RULE2_9POS_INAROW' will be set to one, otherwise it will be zero.",
            "format": "double",
            "nullable": true
          },
          "plot_rule3_6_trend": {
            "type": "number",
            "description": "Flags used as switches in the control chart macro to determine if violation type needs to be plotted in the chart. If so, 'PLOT_RULE3_6_TREND' will be set to one, otherwise it will be zero.",
            "format": "double",
            "nullable": true
          },
          "plot_rule4_14_up_and_down": {
            "type": "number",
            "description": "Flags used as switches in the control chart macro to determine if violation type needs to be plotted in the chart. If so, 'PLOT_RULE4_14_UP_AND_DOWN' will be set to one, otherwise it will be zero.",
            "format": "double",
            "nullable": true
          },
          "plot_rule7_15_stay_within_1std": {
            "type": "number",
            "description": "Flags used as switches in the control chart macro to determine if violation type needs to be plotted in the chart. If so, 'PLOT_RULE7_15_STAY_WITHIN_1STD' will be set to one, otherwise it will be zero.",
            "format": "double",
            "nullable": true
          },
          "plot_rule5_2_out_of_3": {
            "type": "number",
            "description": "Flags used as switches in the control chart macro to determine if violation type needs to be plotted in the chart. If so, 'PLOT_RULE5_2_OUT_OF_3' will be set to one, otherwise it will be zero.",
            "format": "double",
            "nullable": true
          },
          "plot_rule6_4_out_of_5": {
            "type": "number",
            "description": "Flags used as switches in the control chart macro to determine if violation type needs to be plotted in the chart. If so, 'PLOT_RULE6_4_OUT_OF_5' will be set to one, otherwise it will be zero.",
            "format": "double",
            "nullable": true
          },
          "plot_rule8_8stay_out_1std": {
            "type": "number",
            "description": "Flags used as switches in the control chart macro to determine if violation type needs to be plotted in the chart. If so, 'PLOT_RULE8_8STAY_OUT_1STD' will be set to one, otherwise it will be zero.",
            "format": "double",
            "nullable": true
          },
          "model_decay_chart_cntrol_std": {
            "type": "string",
            "description": "The standard deviation used to calculate the model decay metric control limits.We are still playing with this setting.",
            "nullable": true
          },
          "model_decay_ucl": {
            "type": "string",
            "description": "Upper Control Limit for the model decay metric.This is calculated by the control chart using the model score and is based off of the Prevedere simulator data.",
            "nullable": true
          },
          "model_decay_lcl": {
            "type": "string",
            "description": "Lower Control Limit for the model decay metric. This is calculated by the control chart using the model score and is based off of the Prevedere simulator data.",
            "nullable": true
          },
          "model_decay_mov_avg_n": {
            "type": "string",
            "description": "The moving average setting used in the calculation of model decay.Null for usage 2 right now. This might change.",
            "nullable": true
          },
          "model_score2": {
            "type": "string",
            "description": "The value of model_score2 that was received by the control chart macro.This is used in calculating the model MODEL_DECAY_LCL and MODEL_DECAY_UCL values.Higher scoring models have tighter expected control limits.",
            "nullable": true
          },
          "alt_xref_date": {
            "type": "string",
            "description": "Null for Usage 2",
            "nullable": true
          },
          "data_level": {
            "type": "string",
            "description": "Not required for Usage two- This is the level of the data received by the control chart macro as submitted to the control chart macro.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ControlChartPoint": {
        "type": "object",
        "properties": {
          "rule1_major_outlier": {
            "type": "number",
            "description": "Populated with the value of the residual IF rule 1 is violated.If no violation is found, the value will be missing.",
            "format": "double",
            "nullable": true
          },
          "rule2_9pos_inarow": {
            "type": "number",
            "description": "Populated with the value of the residual IF rule 2 is violated.If no violation is found, the value will be missing.",
            "format": "double",
            "nullable": true
          },
          "rule3_6_trend": {
            "type": "number",
            "description": "Populated with the value of the residual IF rule 3 is violated.If no violation is found, the value will be missing.",
            "format": "double",
            "nullable": true
          },
          "rule4_14_up_and_down": {
            "type": "number",
            "description": "Populated with the value of the residual IF rule 4 is violated.If no violation is found, the value will be missing.",
            "format": "double",
            "nullable": true
          },
          "rule5_2_out_of_3": {
            "type": "number",
            "description": "Populated with the value of the residual IF rule 5 is violated.If no violation is found, the value will be missing.",
            "format": "double",
            "nullable": true
          },
          "rule6_4_out_of_5": {
            "type": "number",
            "description": "Populated with the value of the residual IF rule 6 is violated.If no violation is found, the value will be missing.",
            "format": "double",
            "nullable": true
          },
          "rule7_15_stay_within_1std": {
            "type": "number",
            "description": "Populated with the value of the residual IF rule 7 is violated.If no violation is found, the value will be missing.",
            "format": "double",
            "nullable": true
          },
          "rule8_8stay_out_1std": {
            "type": "number",
            "description": "Populated with the value of the residual IF rule 8 is violated.If no violation is found, the value will be missing.",
            "format": "double",
            "nullable": true
          },
          "model_decay": {
            "type": "number",
            "description": "Model Decay value calculated by the macro",
            "format": "double",
            "nullable": true
          },
          "dateString": {
            "type": "string",
            "description": "The authoritative calendar date for this point (e.g. \"2024-02-01\").",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ControlChartPrescription": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "prescription": {
            "type": "string",
            "nullable": true
          },
          "event": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "date": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ControlChartResult": {
        "type": "object",
        "properties": {
          "controlChartPoints": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ControlChartPoint"
            },
            "nullable": true
          },
          "controlChartErrors": {
            "$ref": "#/components/schemas/ControlChartErrors"
          },
          "controlChartMeta": {
            "$ref": "#/components/schemas/ControlChartMeta"
          },
          "controlChartPrescription": {
            "$ref": "#/components/schemas/ControlChartPrescription"
          },
          "controlChartInsights": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ControlChartPrescription"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Correlation": {
        "type": "object",
        "properties": {
          "counterCyclic": {
            "type": "number",
            "format": "double"
          },
          "periodShift": {
            "type": "integer",
            "format": "int32"
          },
          "proCyclic": {
            "type": "number",
            "format": "double"
          },
          "correlationCoefficient": {
            "type": "number",
            "format": "double"
          },
          "rSquared": {
            "type": "number",
            "format": "double"
          },
          "numberOfDataPoints": {
            "type": "integer",
            "format": "int32"
          },
          "notes": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CorrelationSet": {
        "type": "object",
        "properties": {
          "calculation": {
            "$ref": "#/components/schemas/Calculation"
          },
          "maxDataPointOverlap": {
            "type": "integer",
            "format": "int32"
          },
          "minDataPointOverlap": {
            "type": "integer",
            "format": "int32"
          },
          "bestCorrelationCoefficient": {
            "type": "number",
            "format": "double"
          },
          "bestRSquared": {
            "type": "number",
            "format": "double"
          },
          "bestProcyclic": {
            "type": "number",
            "format": "double"
          },
          "bestCountercyclic": {
            "type": "number",
            "format": "double"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Correlation"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DiscoverCorrelationResult": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "coefficient": {
            "type": "number",
            "format": "double"
          },
          "pValue": {
            "type": "number",
            "format": "double"
          },
          "rSquared": {
            "type": "number",
            "format": "double"
          },
          "overlapPercent": {
            "type": "number",
            "format": "double"
          },
          "numberOfDataPoints": {
            "type": "integer",
            "format": "int32"
          },
          "proCyclic": {
            "type": "number",
            "format": "double"
          },
          "counterCyclic": {
            "type": "number",
            "format": "double"
          },
          "numberOfMinorOutliers": {
            "type": "integer",
            "format": "int32"
          },
          "numberOfMajorOutliers": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "DiscoverJob": {
        "type": "object",
        "properties": {
          "executionId": {
            "type": "string",
            "format": "uuid"
          },
          "definitionId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "jobUrl": {
            "type": "string",
            "nullable": true
          },
          "projectId": {
            "type": "string",
            "format": "uuid"
          },
          "primaryIndicator": {
            "$ref": "#/components/schemas/IndicatorKey"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "lastExecutionDate": {
            "type": "string",
            "format": "date-time"
          },
          "resultsAvailable": {
            "type": "boolean"
          },
          "companyPrefix": {
            "type": "string",
            "nullable": true
          },
          "owner": {
            "type": "string",
            "nullable": true
          },
          "project": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "This schema contains information about the Discover job definition."
      },
      "DiscoverResult": {
        "type": "object",
        "properties": {
          "indicatorKey": {
            "$ref": "#/components/schemas/IndicatorKey"
          },
          "bestROffset": {
            "$ref": "#/components/schemas/DiscoverCorrelationResult"
          }
        },
        "additionalProperties": false
      },
      "DiscoverSearchResponse": {
        "type": "object",
        "properties": {
          "totalResults": {
            "type": "integer",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "format": "int64"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiscoverResult"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DisplayInformation": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The display name to be used in the application. Limited to 50 characters.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The description to be shown in the application. Limited to 1,000 characters.",
            "nullable": true
          },
          "color": {
            "type": "string",
            "description": "The color to use in the application. Must be a valid hex color code.",
            "nullable": true
          },
          "category": {
            "type": "string",
            "description": "The category of the indicator. Limited to 1,000 characters.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DoubleEditable": {
        "type": "object",
        "properties": {
          "originalValue": {
            "type": "number",
            "format": "double"
          },
          "currentValue": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "EfficiencyResult": {
        "type": "object",
        "properties": {
          "averageStandardDeviation": {
            "type": "number",
            "format": "double"
          },
          "absoluteResidualTrend": {
            "type": "number",
            "format": "double"
          },
          "modelPrediction": {
            "type": "number",
            "format": "double"
          },
          "normalizedMeasuredEfficiency": {
            "type": "number",
            "format": "double"
          },
          "modelPredictionNormalized": {
            "type": "number",
            "format": "double"
          },
          "modeledScoreComponent": {
            "type": "number",
            "format": "double"
          },
          "measuredScoreComponent": {
            "type": "number",
            "format": "double"
          },
          "overallComponent": {
            "type": "number",
            "format": "double"
          },
          "impactResidualTrend": {
            "type": "number",
            "format": "double"
          },
          "impactCooksDistanceOutliers": {
            "type": "number",
            "format": "double"
          },
          "impactObservationsPerVariable": {
            "type": "number",
            "format": "double"
          },
          "impactModelMeanVif": {
            "type": "number",
            "format": "double"
          },
          "impactStabilityOfModelStandardErrors": {
            "type": "number",
            "format": "double"
          },
          "impactModelMeanPValues": {
            "type": "number",
            "format": "double"
          },
          "impactDataTransformation": {
            "type": "number",
            "format": "double"
          },
          "meanPercentChangeStandardErrorDummy": {
            "type": "number",
            "format": "double"
          },
          "meanPercentChangeStandardError": {
            "type": "number",
            "format": "double"
          },
          "meanModelPValue": {
            "type": "number",
            "format": "double"
          },
          "meanModelVif": {
            "type": "number",
            "format": "double"
          },
          "yearOverYearTransformationDummy": {
            "type": "number",
            "format": "double"
          },
          "noneTransformationDummy": {
            "type": "number",
            "format": "double"
          },
          "observationsPerVariable86Decay": {
            "type": "number",
            "format": "double"
          },
          "observationsPerVariable86": {
            "type": "number",
            "format": "double"
          },
          "cooksDistanceSegmentTwo": {
            "type": "number",
            "format": "double"
          },
          "cooksDistanceSegment": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Favorite": {
        "type": "object",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/FavoriteInfo"
          },
          "indicators": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Indicator"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FavoriteDimensionPoint": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "value": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "FavoriteDimensions": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "nullable": true
          },
          "providerId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "dimensions": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true
          },
          "points": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FavoriteDimensionPoint"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FavoriteInfo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "owner": {
            "type": "string",
            "nullable": true
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "isPublic": {
            "type": "boolean"
          },
          "isPrevedere": {
            "type": "boolean"
          },
          "count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Feature": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FitLine": {
        "type": "object",
        "properties": {
          "points": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          },
          "slope": {
            "type": "number",
            "format": "double"
          },
          "intercept": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "ForecastAccuracyResult": {
        "type": "object",
        "properties": {
          "cooksDCapped": {
            "type": "number",
            "format": "double"
          },
          "cooksDSegment1": {
            "type": "number",
            "format": "double"
          },
          "cooksDSegment2": {
            "type": "number",
            "format": "double"
          },
          "nobsPerVar": {
            "type": "number",
            "format": "double"
          },
          "nobsPerVarDecayCurve": {
            "type": "number",
            "format": "double"
          },
          "absResidualTrend": {
            "type": "number",
            "format": "double"
          },
          "avgSinglePeriodError": {
            "type": "number",
            "format": "double"
          },
          "mape": {
            "type": "number",
            "format": "double"
          },
          "targetHorizon": {
            "type": "number",
            "format": "double"
          },
          "targetHorizonAdjustment": {
            "type": "number",
            "format": "double"
          },
          "meanVif": {
            "type": "number",
            "format": "double"
          },
          "meanPValue": {
            "type": "number",
            "format": "double"
          },
          "fcError": {
            "type": "number",
            "format": "double"
          },
          "phillipsPerron": {
            "type": "number",
            "format": "double"
          },
          "fcErrorNormalized": {
            "type": "number",
            "format": "double"
          },
          "fcErrorModelComp": {
            "type": "number",
            "format": "double"
          },
          "fcErrorActualComp": {
            "type": "number",
            "format": "double"
          },
          "avgSinglePeriodErrorNormalized": {
            "type": "number",
            "format": "double"
          },
          "scoreFCError": {
            "type": "number",
            "format": "double"
          },
          "impactPhillipsPerron": {
            "type": "number",
            "format": "double"
          },
          "impactCooksD": {
            "type": "number",
            "format": "double"
          },
          "impactResidualTrend": {
            "type": "number",
            "format": "double"
          },
          "impactNobsPerVar": {
            "type": "number",
            "format": "double"
          },
          "impactMape": {
            "type": "number",
            "format": "double"
          },
          "impactMeanPValue": {
            "type": "number",
            "format": "double"
          },
          "impactMeanVif": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "ForecastModelCategoryInfo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "sort": {
            "type": "integer",
            "format": "int32"
          },
          "note": {
            "type": "string",
            "nullable": true
          },
          "indicators": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndicatorKey"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ForecastModelComponentInfo": {
        "type": "object",
        "properties": {
          "indicators": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndicatorEntry"
            },
            "nullable": true
          },
          "coefficients": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Coefficient"
              }
            },
            "nullable": true
          },
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BuilderMessage"
            },
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ForecastModelCategoryInfo"
            },
            "nullable": true
          },
          "lockedModel": {
            "$ref": "#/components/schemas/LockedModelInfo"
          },
          "biasInfo": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SegmentBiasInfo"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ForecastModelConsistencyInfo": {
        "type": "object",
        "properties": {
          "asOfDate": {
            "type": "string",
            "format": "date-time"
          },
          "averageSinglePeriodError": {
            "type": "number",
            "format": "double"
          },
          "averageSinglePeriodErrorModeled": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "averageAggregatePeriodError": {
            "type": "number",
            "format": "double"
          },
          "averageAggregatePeriodErrorModeled": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupedPeriodError"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ForecastModelEntry": {
        "type": "object",
        "properties": {
          "indicator": {
            "$ref": "#/components/schemas/IndicatorKey"
          },
          "displayName": {
            "type": "string",
            "description": "A user defined name for an indicator.",
            "nullable": true
          },
          "displayDescription": {
            "type": "string",
            "description": "A user defined description for an indicator.",
            "nullable": true
          },
          "displayColor": {
            "type": "string",
            "description": "A user defined color for an indicator. A valid six integer hex value with the leading #",
            "nullable": true
          },
          "displayCategory": {
            "type": "string",
            "description": "A user defined category for the indicator.",
            "nullable": true
          },
          "offset": {
            "type": "integer",
            "description": "The number of periods to shift the data when modeling.",
            "format": "int32"
          },
          "includeInModel": {
            "type": "boolean",
            "description": "A flag used to determine if the indicator should be used when modeling."
          },
          "includeInAllSegments": {
            "type": "boolean",
            "description": "A flag used to force the indicator in every segment. If true the indicator will be used in all segments, but may trim the model forecast to periods where data exists for the forced indicator.\r\n\r\n\r\nOnly allowed for entries with an offset of 0."
          },
          "isLogged": {
            "type": "boolean",
            "description": "A flag used to determine if the data for this indicator should be logged transformed."
          },
          "transformations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Transformation"
            },
            "description": "The series transformations applied to the series of this entry and the order that they are applied",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ForecastModelHealth": {
        "type": "object",
        "properties": {
          "runModelHealthNow": {
            "type": "boolean",
            "description": "This field give the user the ability to ‘remotely press’ the ‘check model health now’ button in the app to get the latest model health results.\r\nThe default operation for this input will be to NOT ‘check model health now’. When the default value of false (don’t run model health now) is\r\nreplaced with a value of true (run model health now), the equivalent of depressing the green button in the app will be triggered.",
            "example": true
          },
          "referenceTable": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ControlChartPoint"
            },
            "description": "",
            "nullable": true,
            "example": [
              {
                "rule1_major_outlier": 0,
                "rule2_9pos_inarow": 0,
                "rule3_6_trend": 0,
                "rule4_14_up_and_down": 0,
                "rule5_2_out_of_3": 0,
                "rule6_4_out_of_5": 0,
                "rule7_15_stay_within_1std": 0,
                "rule8_8stay_out_1std": 0,
                "model_decay": 0,
                "dateString": "string"
              },
              {
                "rule1_major_outlier": 0,
                "rule2_9pos_inarow": 0,
                "rule3_6_trend": 0,
                "rule4_14_up_and_down": 0,
                "rule5_2_out_of_3": 0,
                "rule6_4_out_of_5": 0,
                "rule7_15_stay_within_1std": 0,
                "rule8_8stay_out_1std": 0,
                "model_decay": 0,
                "dateString": "string"
              },
              {
                "rule1_major_outlier": 0,
                "rule2_9pos_inarow": 0,
                "rule3_6_trend": 0,
                "rule4_14_up_and_down": 0,
                "rule5_2_out_of_3": 0,
                "rule6_4_out_of_5": 0,
                "rule7_15_stay_within_1std": 0,
                "rule8_8stay_out_1std": 0,
                "model_decay": 0,
                "dateString": "string"
              },
              {
                "rule1_major_outlier": 0,
                "rule2_9pos_inarow": 0,
                "rule3_6_trend": 0,
                "rule4_14_up_and_down": 0,
                "rule5_2_out_of_3": 0,
                "rule6_4_out_of_5": 0,
                "rule7_15_stay_within_1std": 0,
                "rule8_8stay_out_1std": 0,
                "model_decay": 0,
                "dateString": "string"
              },
              {
                "rule1_major_outlier": 0,
                "rule2_9pos_inarow": 0,
                "rule3_6_trend": 0,
                "rule4_14_up_and_down": 0,
                "rule5_2_out_of_3": 0,
                "rule6_4_out_of_5": 0,
                "rule7_15_stay_within_1std": 0,
                "rule8_8stay_out_1std": 0,
                "model_decay": 0,
                "dateString": "string"
              },
              {
                "rule1_major_outlier": 0,
                "rule2_9pos_inarow": 0,
                "rule3_6_trend": 0,
                "rule4_14_up_and_down": 0,
                "rule5_2_out_of_3": 0,
                "rule6_4_out_of_5": 0,
                "rule7_15_stay_within_1std": 0,
                "rule8_8stay_out_1std": 0,
                "model_decay": 0,
                "dateString": "string"
              },
              {
                "rule1_major_outlier": 0,
                "rule2_9pos_inarow": 0,
                "rule3_6_trend": 0,
                "rule4_14_up_and_down": 0,
                "rule5_2_out_of_3": 0,
                "rule6_4_out_of_5": 0,
                "rule7_15_stay_within_1std": 0,
                "rule8_8stay_out_1std": 0,
                "model_decay": 0,
                "dateString": "string"
              },
              {
                "rule1_major_outlier": 0,
                "rule2_9pos_inarow": 0,
                "rule3_6_trend": 0,
                "rule4_14_up_and_down": 0,
                "rule5_2_out_of_3": 0,
                "rule6_4_out_of_5": 0,
                "rule7_15_stay_within_1std": 0,
                "rule8_8stay_out_1std": 0,
                "model_decay": 0,
                "dateString": "string"
              },
              {
                "rule1_major_outlier": 0,
                "rule2_9pos_inarow": 0,
                "rule3_6_trend": 0,
                "rule4_14_up_and_down": 0,
                "rule5_2_out_of_3": 0,
                "rule6_4_out_of_5": 0,
                "rule7_15_stay_within_1std": 0,
                "rule8_8stay_out_1std": 0,
                "model_decay": 0,
                "dateString": "string"
              },
              {
                "rule1_major_outlier": 0,
                "rule2_9pos_inarow": 0,
                "rule3_6_trend": 0,
                "rule4_14_up_and_down": 0,
                "rule5_2_out_of_3": 0,
                "rule6_4_out_of_5": 0,
                "rule7_15_stay_within_1std": 0,
                "rule8_8stay_out_1std": 0,
                "model_decay": 0,
                "dateString": "string"
              },
              {
                "rule1_major_outlier": 0,
                "rule2_9pos_inarow": 0,
                "rule3_6_trend": 0,
                "rule4_14_up_and_down": 0,
                "rule5_2_out_of_3": 0,
                "rule6_4_out_of_5": 0,
                "rule7_15_stay_within_1std": 0,
                "rule8_8stay_out_1std": 0,
                "model_decay": 0,
                "dateString": "string"
              },
              {
                "rule1_major_outlier": 0,
                "rule2_9pos_inarow": 0,
                "rule3_6_trend": 0,
                "rule4_14_up_and_down": 0,
                "rule5_2_out_of_3": 0,
                "rule6_4_out_of_5": 0,
                "rule7_15_stay_within_1std": 0,
                "rule8_8stay_out_1std": 0,
                "model_decay": 0,
                "dateString": "string"
              },
              {
                "rule1_major_outlier": 0,
                "rule2_9pos_inarow": 0,
                "rule3_6_trend": 0,
                "rule4_14_up_and_down": 0,
                "rule5_2_out_of_3": 0,
                "rule6_4_out_of_5": 0,
                "rule7_15_stay_within_1std": 0,
                "rule8_8stay_out_1std": 0,
                "model_decay": 0,
                "dateString": "string"
              },
              {
                "rule1_major_outlier": 0,
                "rule2_9pos_inarow": 0,
                "rule3_6_trend": 0,
                "rule4_14_up_and_down": 0,
                "rule5_2_out_of_3": 0,
                "rule6_4_out_of_5": 0,
                "rule7_15_stay_within_1std": 0,
                "rule8_8stay_out_1std": 0,
                "model_decay": 0,
                "dateString": "string"
              },
              {
                "rule1_major_outlier": 0,
                "rule2_9pos_inarow": 0,
                "rule3_6_trend": 0,
                "rule4_14_up_and_down": 0,
                "rule5_2_out_of_3": 0,
                "rule6_4_out_of_5": 0,
                "rule7_15_stay_within_1std": 0,
                "rule8_8stay_out_1std": 0,
                "model_decay": 0,
                "dateString": "string"
              },
              {
                "rule1_major_outlier": 0,
                "rule2_9pos_inarow": 0,
                "rule3_6_trend": 0,
                "rule4_14_up_and_down": 0,
                "rule5_2_out_of_3": 0,
                "rule6_4_out_of_5": 0,
                "rule7_15_stay_within_1std": 0,
                "rule8_8stay_out_1std": 0,
                "model_decay": 0,
                "dateString": "string"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "ForecastModelHistory": {
        "type": "object",
        "properties": {
          "captureDate": {
            "type": "string",
            "format": "date-time"
          },
          "forecastModelIteration": {
            "$ref": "#/components/schemas/ForecastModelIteration"
          }
        },
        "additionalProperties": false
      },
      "ForecastModelInfo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id of the model.",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "The name of the model.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The description of the model.",
            "nullable": true
          },
          "indicator": {
            "$ref": "#/components/schemas/Indicator"
          },
          "created": {
            "type": "string",
            "description": "The timestamp in UTC for when the model was created.",
            "format": "date-time"
          },
          "lastModified": {
            "type": "string",
            "description": "The timestamp in UTC when the model was last saved.",
            "format": "date-time"
          },
          "owner": {
            "type": "string",
            "description": "The username of the owner of the model.",
            "nullable": true
          },
          "companyName": {
            "type": "string",
            "description": "The name of the company the model belongs to.",
            "nullable": true
          },
          "companyPrefix": {
            "type": "string",
            "description": "The prefix of the company. A shortened name in the application which is used to differentiate between companies.",
            "nullable": true
          },
          "calculation": {
            "$ref": "#/components/schemas/Calculation"
          },
          "type": {
            "$ref": "#/components/schemas/ForecastModelType"
          },
          "frequency": {
            "$ref": "#/components/schemas/Frequency"
          },
          "cutOffPeriods": {
            "type": "integer",
            "description": "The target horizon of the model. Any forecasts after the cut off periods will be trimmed.",
            "format": "int32"
          },
          "active": {
            "type": "boolean",
            "description": "A flag to signal that the model is locked.\r\n\r\n\r\nTrue: Model is locked and it should have a LockedModel associated with it.\r\n\r\n\r\nFalse: Model is not locked and is editable in the application."
          },
          "projectId": {
            "type": "string",
            "description": "The UUID for the project the model is in.",
            "format": "uuid"
          },
          "usedAsIndicator": {
            "type": "boolean",
            "description": "A flag to signal that an indicator has been created from the model."
          },
          "analysisAsOfDate": {
            "type": "string",
            "description": "The As Of Date of the model. This is used to front trim the model's dependent variable to use less than the full data history to run a back test or by locked models to set their coefficients to a certain model period.",
            "format": "date-time"
          },
          "logPrimary": {
            "type": "boolean",
            "description": "A flag which is used to determine if the primary dataset should be log(x + 1) transformed.\r\n\r\n\r\nIf this is true the calculation must be 'None'\r\n\r\n\r\nTrue: Transform the points.\r\n\r\n\r\nFalse: Does not transform the points."
          },
          "activeLockedModel": {
            "type": "string",
            "description": "The locked model Id.",
            "format": "uuid",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of tags that are assigned to the model.",
            "nullable": true
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ForecastModelEntry"
            },
            "description": "A list of the entries that are in the model. Includes hidden indicators as well.",
            "nullable": true
          },
          "lockedModel": {
            "$ref": "#/components/schemas/LockedModelInfo"
          },
          "url": {
            "type": "string",
            "description": "The link to the model in the application.",
            "nullable": true
          },
          "parentType": {
            "type": "string",
            "description": "The parent type of the model. Currently only parent type is a 'predict'",
            "nullable": true
          },
          "parentId": {
            "type": "string",
            "description": "The UUID of the parent entity of the model.",
            "format": "uuid"
          },
          "parentUrl": {
            "type": "string",
            "description": "The URL to the model's parent entity.",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "description": "User entered notes for the model.",
            "nullable": true
          },
          "modelState": {
            "type": "string",
            "description": "The state of the model. Currently there are three possible options:\r\n\r\n\r\nDraft\r\n\r\n\r\nArchive\r\n\r\n\r\nProduction",
            "nullable": true
          },
          "manual": {
            "type": "boolean",
            "description": "If true, model output was manually entered."
          },
          "modelForecastSummary": {
            "type": "string",
            "description": "For models in the Insights dashboard, an AI generated summary of the forecast.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "This schema contains information about the Model, the dependent variable or Primary Indicator of the model under the Indicator subschema, and dependent variables or Explanatory Indicators in the ForecastModelEntry subschema.\r\n\r\n\r\nIf the Model is locked information is populated in the LockedModelInfo subschema."
      },
      "ForecastModelIteration": {
        "type": "object",
        "properties": {
          "forecastModelName": {
            "type": "string",
            "nullable": true
          },
          "forecastModelId": {
            "type": "string",
            "format": "uuid"
          },
          "forecastModelType": {
            "$ref": "#/components/schemas/ForecastModelType"
          },
          "forecastModelCalculation": {
            "$ref": "#/components/schemas/Calculation"
          },
          "executionTime": {
            "type": "string",
            "format": "date-time"
          },
          "fitAndForecast": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "description": "Forecast Model output values with no calculation applied and trimmed using regression start and as of dates",
            "nullable": true
          },
          "primaryValues": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "description": "Time series data of Primary Indicator with no calculation applied",
            "nullable": true
          },
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComponentInformation"
            },
            "description": "Model components, excluding user specified indicators, ordered by offset",
            "nullable": true
          },
          "segments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SegmentInfo"
            },
            "nullable": true
          },
          "contributionResult": {
            "$ref": "#/components/schemas/ContributionResult"
          }
        },
        "additionalProperties": false
      },
      "ForecastModelSummaryInfo": {
        "type": "object",
        "properties": {
          "modelId": {
            "type": "string",
            "format": "uuid"
          },
          "modelSummary": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ForecastModelType": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "description": "None: 0\r\n\r\n\r\nRocet: 1\r\n\r\n\r\nMultivariate: 2\r\n\r\n\r\nSegmentedMultivariate: 3\r\n\r\n\r\nWeightedUnivariateRegression: 4\r\n\r\n",
        "format": "int32"
      },
      "ForecastResult": {
        "type": "object",
        "properties": {
          "forecasts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          },
          "justForecasts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          },
          "actuals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          },
          "actualsInModelCalculation": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          },
          "actualsWithForecast": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          },
          "forecastInModelCalculation": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Frequency": {
        "enum": [
          0,
          1,
          2,
          4,
          12,
          52,
          365,
          1000
        ],
        "type": "integer",
        "description": "The frequency of the data.\r\n\r\n\r\nDaily: 365\r\n\r\n\r\nWeekly: 52\r\n\r\n\r\nMonthly: 12\r\n\r\n\r\nQuarterly: 4\r\n\r\n\r\nSemiAnnual: 2\r\n\r\n\r\nAnnual: 1",
        "format": "int32"
      },
      "GroupedPeriodError": {
        "type": "object",
        "properties": {
          "period": {
            "type": "integer",
            "format": "int32"
          },
          "sampleSize": {
            "type": "integer",
            "format": "int32"
          },
          "averageSinglePeriodError": {
            "type": "number",
            "format": "double"
          },
          "averageSinglePeriodErrorModeled": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "singlePeriodErrorWhisker": {
            "$ref": "#/components/schemas/WhiskerResult"
          },
          "singlePeriodErrorWhiskerModeled": {
            "$ref": "#/components/schemas/WhiskerResult"
          },
          "averageAggregateError": {
            "type": "number",
            "format": "double"
          },
          "averageAggregateErrorModeled": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "aggregateErrorWhisker": {
            "$ref": "#/components/schemas/WhiskerResult"
          },
          "aggregateErrorWhiskerModeled": {
            "$ref": "#/components/schemas/WhiskerResult"
          }
        },
        "additionalProperties": false
      },
      "Indicator": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "aggregate": {
            "$ref": "#/components/schemas/AggregationMethod"
          },
          "calculation": {
            "$ref": "#/components/schemas/Calculation"
          },
          "color": {
            "type": "string",
            "nullable": true
          },
          "displayInformation": {
            "$ref": "#/components/schemas/DisplayInformation"
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "startTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "endTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "transformedStartTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "transformedEndTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "frequency": {
            "$ref": "#/components/schemas/Frequency"
          },
          "deprecated": {
            "type": "boolean"
          },
          "deprecationReason": {
            "type": "string",
            "nullable": true
          },
          "lastModified": {
            "type": "string",
            "format": "date-time"
          },
          "provider": {
            "$ref": "#/components/schemas/Provider"
          },
          "providerId": {
            "type": "string",
            "nullable": true
          },
          "seasonality": {
            "$ref": "#/components/schemas/Seasonality"
          },
          "source": {
            "type": "string",
            "nullable": true
          },
          "classification": {
            "$ref": "#/components/schemas/Classification"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "units": {
            "type": "string",
            "nullable": true
          },
          "accessibility": {
            "$ref": "#/components/schemas/ProviderAccess"
          },
          "periodAlignment": {
            "$ref": "#/components/schemas/PeriodAlignment"
          },
          "path": {
            "type": "string",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "citation": {
            "type": "string",
            "nullable": true
          },
          "dataSources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndicatorDataSource"
            },
            "nullable": true
          },
          "industryCodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndustryCode"
            },
            "nullable": true
          },
          "hasZeroVariance": {
            "type": "boolean",
            "nullable": true
          },
          "interval": {
            "type": "string",
            "nullable": true
          },
          "countryCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IndicatorContribution": {
        "type": "object",
        "properties": {
          "entryId": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "IndicatorCorrelation": {
        "type": "object",
        "properties": {
          "correlationCoefficient": {
            "type": "number",
            "format": "double"
          },
          "rSquared": {
            "type": "number",
            "format": "double"
          },
          "proCyclic": {
            "type": "number",
            "format": "double"
          },
          "counterCyclic": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "IndicatorCreate": {
        "type": "object",
        "properties": {
          "indicator": {
            "$ref": "#/components/schemas/IndicatorCreateRequest"
          }
        },
        "additionalProperties": false
      },
      "IndicatorCreateRequest": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "description": "Unique identifier for provider",
            "nullable": true
          },
          "providerId": {
            "type": "string",
            "description": "Indicator Identifier",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Indicator Name",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Indicator Description",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "description": "Indicator Notes",
            "nullable": true
          },
          "units": {
            "type": "string",
            "description": "Indicator Units of measurement",
            "nullable": true
          },
          "citation": {
            "type": "string",
            "description": "Indicator Citation",
            "nullable": true
          },
          "path": {
            "type": "string",
            "description": "Path of indicator in Prevedere folder structure",
            "nullable": true
          },
          "color": {
            "type": "string",
            "description": "Color code to be used in the Prevedere application",
            "nullable": true
          },
          "aggregation": {
            "type": "string",
            "description": "Aggregation method used for indicator time series",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags assigned to help organize indicator",
            "nullable": true
          },
          "industryCodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndustryCode"
            },
            "description": "Industry codes assigned to indicator",
            "nullable": true
          },
          "classification": {
            "type": "string",
            "description": "Prevedere Classification for indicator",
            "nullable": true
          },
          "seasonalAdjustment": {
            "type": "string",
            "description": "Identifies if indicator is seasonally adjusted",
            "nullable": true
          },
          "periodAlignment": {
            "type": "string",
            "description": "Identifies if time series aligns with the beginning or end of time period",
            "nullable": true
          },
          "interval": {
            "type": "string",
            "description": "Name and multiple used to describe period length of indicator the time series, similar to frequency",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RequestPoint"
            },
            "description": "Data Time Series For Indicator",
            "nullable": true
          },
          "calculation": {
            "type": "string",
            "nullable": true
          },
          "projectId": {
            "type": "string",
            "description": "Optional Project ID to associate the indicator with a specific project",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IndicatorDataSource": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "dataSourceType": {
            "$ref": "#/components/schemas/IndicatorType"
          }
        },
        "additionalProperties": false
      },
      "IndicatorEntry": {
        "type": "object",
        "properties": {
          "indicator": {
            "$ref": "#/components/schemas/Indicator"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "values": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          },
          "includeInModel": {
            "type": "boolean"
          },
          "isLogged": {
            "type": "boolean"
          },
          "entryId": {
            "type": "string",
            "format": "uuid"
          },
          "useCoefficientBounds": {
            "type": "boolean"
          },
          "coefficientLowerBounds": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "coefficientUpperBounds": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "transformations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Transformation"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IndicatorKey": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "description": "The ID of the provider for the indicator.",
            "format": "uuid"
          },
          "providerId": {
            "type": "string",
            "description": "The provider id of the indicator.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The provider:providerId pair. This is used to identify an indicator in the system."
      },
      "IndicatorSearchResults": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Indicator"
            },
            "nullable": true,
            "readOnly": true
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "pageSize": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "totalResults": {
            "type": "integer",
            "format": "int64",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "IndicatorTransformation": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "nullable": true
          },
          "providerId": {
            "type": "string",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "nullable": true
          },
          "transformations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Transformation"
            },
            "nullable": true
          },
          "offset": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isLogged": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "IndicatorType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ],
        "type": "integer",
        "format": "int32"
      },
      "IndicatorUpdateRequest": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "description": "Unique identifier for provider",
            "nullable": true
          },
          "providerId": {
            "type": "string",
            "description": "Indicator Identifier",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Indicator Name",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Indicator Description",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "description": "Indicator Notes",
            "nullable": true
          },
          "units": {
            "type": "string",
            "description": "Indicator Units of measurement",
            "nullable": true
          },
          "citation": {
            "type": "string",
            "description": "Indicator Citation",
            "nullable": true
          },
          "path": {
            "type": "string",
            "description": "Path of indicator in Prevedere folder structure",
            "nullable": true
          },
          "color": {
            "type": "string",
            "description": "Color code to be used in the Prevedere application",
            "nullable": true
          },
          "aggregation": {
            "type": "string",
            "description": "Aggregation method used for indicator time series",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags assigned to help organize indicator",
            "nullable": true
          },
          "industryCodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndustryCode"
            },
            "description": "Industry codes assigned to indicator",
            "nullable": true
          },
          "classification": {
            "type": "string",
            "description": "Prevedere Classification for indicator",
            "nullable": true
          },
          "seasonalAdjustment": {
            "type": "string",
            "description": "Identifies if indicator is seasonally adjusted",
            "nullable": true
          },
          "periodAlignment": {
            "type": "string",
            "description": "Identifies if time series aligns with the beginning or end of time period",
            "nullable": true
          },
          "interval": {
            "type": "string",
            "description": "Name and multiple used to describe period length of indicator the time series, similar to frequency",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RequestPoint"
            },
            "description": "Data Time Series For Indicator",
            "nullable": true
          },
          "deleteExistingDataRecords": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "IndicatorValue": {
        "type": "object",
        "properties": {
          "indicatorKey": {
            "$ref": "#/components/schemas/IndicatorKey"
          },
          "value": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "IndicatorValues": {
        "type": "object",
        "properties": {
          "indicator": {
            "$ref": "#/components/schemas/Indicator"
          },
          "leadTime": {
            "type": "integer",
            "format": "int32"
          },
          "values": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IndustryCode": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "code": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LockedModelInfo": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the locked model.",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "description": "When the locked model was created.",
            "format": "date-time"
          },
          "asOf": {
            "type": "string",
            "description": "An optional date used to trim the model period.",
            "format": "date-time",
            "nullable": true
          },
          "lockedBy": {
            "type": "string",
            "description": "The user who locked the model.",
            "nullable": true
          },
          "lastCheckedBy": {
            "type": "string",
            "description": "The last user to trigger a model health check.",
            "nullable": true
          },
          "modelScoreWhenLocked": {
            "type": "number",
            "description": "The model quality score when the model was locked.",
            "format": "double"
          },
          "dataEndDateWhenLocked": {
            "type": "string",
            "description": "The last date in the model period when the model was locked.",
            "format": "date-time",
            "nullable": true
          },
          "lastModelCheckupDate": {
            "type": "string",
            "description": "The last time model health was checked.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MessageType": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "ModelHealthResponse": {
        "type": "object",
        "properties": {
          "result": {
            "$ref": "#/components/schemas/ControlChartResult"
          },
          "modelHealthScoreAtPublish": {
            "type": "number",
            "format": "double"
          },
          "projectId": {
            "type": "string",
            "format": "uuid"
          },
          "modelId": {
            "type": "string",
            "format": "uuid"
          },
          "modelType": {
            "type": "string",
            "nullable": true
          },
          "instanceCode": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ModelScore": {
        "type": "object",
        "properties": {
          "score": {
            "type": "number",
            "format": "double"
          },
          "modelScoreType": {
            "type": "string",
            "nullable": true
          },
          "predictiveRSquared": {
            "type": "number",
            "format": "double"
          },
          "inSampleMeanAbsoluteError": {
            "type": "number",
            "format": "double"
          },
          "holdoutMeanAbsoluteError": {
            "type": "number",
            "format": "double"
          },
          "percentOfClassificationsUtilized": {
            "type": "number",
            "format": "double"
          },
          "durbinWatson": {
            "type": "number",
            "format": "double"
          },
          "residualTrend": {
            "type": "number",
            "format": "double"
          },
          "percentOfVariablesToPenalize": {
            "type": "number",
            "format": "double"
          },
          "aggregateEffectAtHorizon": {
            "type": "number",
            "format": "double"
          },
          "weightedAggregateEffectAtHorizon": {
            "type": "number",
            "format": "double"
          },
          "averageSinglePeriodErrorThroughHorizon": {
            "type": "number",
            "format": "double"
          },
          "weightedAverageSinglePeriodErrorThroughHorizon": {
            "type": "number",
            "format": "double"
          },
          "percentOfTargetHorizonUtilized": {
            "type": "number",
            "format": "double"
          },
          "indicatorDiversity": {
            "type": "number",
            "format": "double"
          },
          "segmentScores": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SegmentScore"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ModelState": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "format": "int32"
      },
      "Outlier": {
        "type": "object",
        "properties": {
          "value": {
            "type": "number",
            "format": "double"
          },
          "tertile": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "PeriodAlignment": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "Point": {
        "type": "object",
        "properties": {
          "value": {
            "type": "number",
            "format": "double"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "annotation": {
            "type": "string",
            "nullable": true
          },
          "manuallyAdjusted": {
            "type": "boolean"
          },
          "isForecasted": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "Provider": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "source": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProviderAccess": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "RelativeImpactInfo": {
        "type": "object",
        "properties": {
          "segment": {
            "type": "integer",
            "format": "int32"
          },
          "relativeImpact": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndicatorValue"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RequestPoint": {
        "type": "object",
        "properties": {
          "value": {
            "type": "number",
            "format": "double"
          },
          "annotation": {
            "type": "string",
            "nullable": true
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "isForecasted": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ResponseMessage": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RiskGrowthResult": {
        "type": "object",
        "properties": {
          "forecast": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          },
          "risk": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          },
          "target": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          },
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndicatorValues"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RiskResult": {
        "type": "object",
        "properties": {
          "forecast": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          },
          "risk": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          },
          "target": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          },
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndicatorValues"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ScenarioCoefficient": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "scenarioForecastId": {
            "type": "string",
            "format": "uuid"
          },
          "provider": {
            "type": "string",
            "format": "uuid"
          },
          "providerId": {
            "type": "string",
            "nullable": true
          },
          "coefficients": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DoubleEditable"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ScenarioForecast": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "scenarioId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "lastModified": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "scenarioForecastPoints": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScenarioForecastPoints"
            },
            "nullable": true
          },
          "forecastResult": {
            "$ref": "#/components/schemas/ForecastResult"
          },
          "contributionResult": {
            "$ref": "#/components/schemas/ContributionResult"
          },
          "volumeDecompResult": {
            "$ref": "#/components/schemas/VolumeDecompResult"
          },
          "scenarioCoefficients": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScenarioCoefficient"
            },
            "nullable": true
          },
          "forecastModel": {
            "$ref": "#/components/schemas/ForecastModelInfo"
          },
          "trimmedData": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Point"
              },
              "nullable": true
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ScenarioForecastListing": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "ScenarioForecastPoints": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "scenarioForecastId": {
            "type": "string",
            "format": "uuid"
          },
          "provider": {
            "type": "string",
            "format": "uuid"
          },
          "providerId": {
            "type": "string",
            "nullable": true
          },
          "indicatorName": {
            "type": "string",
            "nullable": true
          },
          "lastModified": {
            "type": "string",
            "format": "date-time"
          },
          "points": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          },
          "includeInAllSegments": {
            "type": "boolean"
          },
          "isLogged": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ScenarioListing": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "lastModified": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "scenarioForecasts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScenarioForecastListing"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ScenarioLite": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "lastModified": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "scenarioForecasts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScenarioForecast"
            },
            "nullable": true
          },
          "points": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Seasonality": {
        "enum": [
          0,
          1,
          999
        ],
        "type": "integer",
        "format": "int32"
      },
      "SegmentBiasInfo": {
        "type": "object",
        "properties": {
          "logTransformationBias": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "dates": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "date-time"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SegmentInfo": {
        "type": "object",
        "properties": {
          "segment": {
            "type": "integer",
            "format": "int32"
          },
          "intercept": {
            "type": "number",
            "format": "double"
          },
          "coefficients": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CoefficientInfo"
            },
            "description": "Component coefficients ordered by indicator offset",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SegmentScore": {
        "type": "object",
        "properties": {
          "fStatistic": {
            "type": "number",
            "format": "double"
          },
          "rSquared": {
            "type": "number",
            "format": "double"
          },
          "adjustedRSquared": {
            "type": "number",
            "format": "double"
          },
          "predictiveRSquared": {
            "type": "number",
            "format": "double"
          },
          "estimateOfStandardError": {
            "type": "number",
            "format": "double"
          },
          "numberOfObservations": {
            "type": "integer",
            "format": "int32"
          },
          "observationsPerVariable": {
            "type": "number",
            "format": "double"
          },
          "inSampleMeanAbsoluteError": {
            "type": "number",
            "format": "double"
          },
          "holdoutMeanAbsoluteError": {
            "type": "number",
            "format": "double"
          },
          "percentOfClassificationsUtilized": {
            "type": "number",
            "format": "double"
          },
          "durbinWatson": {
            "type": "number",
            "format": "double"
          },
          "residualTrend": {
            "type": "number",
            "format": "double"
          },
          "residualFitPValue": {
            "type": "number",
            "format": "double"
          },
          "percentOfVariablesToPenalize": {
            "type": "number",
            "format": "double"
          },
          "segmentEndDate": {
            "type": "string",
            "format": "date-time"
          },
          "segmentStartDate": {
            "type": "string",
            "format": "date-time"
          },
          "modelOverfit": {
            "type": "number",
            "format": "double"
          },
          "meanPercentAbsoluteChange": {
            "type": "number",
            "format": "double"
          },
          "breuschGodfrey": {
            "type": "number",
            "format": "double"
          },
          "avgSinglePeriodError": {
            "type": "number",
            "format": "double"
          },
          "efficiency": {
            "type": "number",
            "format": "double"
          },
          "meanPValue": {
            "type": "number",
            "format": "double"
          },
          "predRSquaredRatio": {
            "type": "number",
            "format": "double"
          },
          "biasResult": {
            "$ref": "#/components/schemas/BiasResult"
          },
          "efficiencyResult": {
            "$ref": "#/components/schemas/EfficiencyResult"
          },
          "forecastAccuracyResult": {
            "$ref": "#/components/schemas/ForecastAccuracyResult"
          }
        },
        "additionalProperties": false
      },
      "StatisticsResult": {
        "type": "object",
        "properties": {
          "rootMeanSquare": {
            "type": "number",
            "format": "double"
          },
          "rootMeanSquareInModelCalculation": {
            "type": "number",
            "format": "double"
          },
          "durbinWatson": {
            "type": "number",
            "format": "double"
          },
          "durbinWatsonInModelCalculation": {
            "type": "number",
            "format": "double"
          },
          "inSampleMeanAbsolutePercentError": {
            "type": "number",
            "format": "double"
          },
          "inSampleMeanAbsoluteError": {
            "type": "number",
            "format": "double"
          },
          "rawResiduals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          },
          "residualsInModelCalculation": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "nullable": true
          },
          "rawResidualFitLine": {
            "$ref": "#/components/schemas/FitLine"
          },
          "modelCalculationResidualFitLine": {
            "$ref": "#/components/schemas/FitLine"
          },
          "holdoutMape": {
            "type": "number",
            "format": "double"
          },
          "holdoutMapeInModelCalculation": {
            "type": "number",
            "format": "double"
          },
          "rawHoldoutMape": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Transformation": {
        "type": "object",
        "properties": {
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "required": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "UpdateWorkbenchIndicatorRequest": {
        "type": "object",
        "properties": {
          "indicatorProvider": {
            "type": "string",
            "description": "The provider's UUID for the indicator.",
            "nullable": true
          },
          "indicatorProviderId": {
            "type": "string",
            "description": "The provider id of the indicator.",
            "nullable": true
          },
          "workbenchId": {
            "type": "string",
            "description": "The workbench id to update or add the indicator to.",
            "nullable": true
          },
          "offset": {
            "type": "integer",
            "description": "The offset to shift the indicator by. Defaults to 0.",
            "format": "int32",
            "nullable": true
          },
          "expectedSign": {
            "type": "string",
            "description": "The expected sign of the coefficient. Possible options are: Unspecified, Positive, Negative. Defaults to Unspecified.",
            "nullable": true
          },
          "locked": {
            "type": "boolean",
            "description": "Whether to lock the indicator for editing in the application. Defaults to False.",
            "nullable": true
          },
          "visible": {
            "type": "boolean",
            "description": "Whether to show the indicator or hide it in the application. Defaults to True.",
            "nullable": true
          },
          "displayInformation": {
            "$ref": "#/components/schemas/DisplayInformation"
          }
        },
        "additionalProperties": false
      },
      "User": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "username": {
            "type": "string",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "modified": {
            "type": "string",
            "format": "date-time"
          },
          "lastLogin": {
            "type": "string",
            "format": "date-time"
          },
          "isLocked": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "VolumeDecompResult": {
        "type": "object",
        "properties": {
          "decomps": {
            "type": "object",
            "properties": {
              "Unknown": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ContributionPeriod"
                }
              },
              "Annual": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ContributionPeriod"
                }
              },
              "SemiAnnual": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ContributionPeriod"
                }
              },
              "Quarterly": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ContributionPeriod"
                }
              },
              "Monthly": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ContributionPeriod"
                }
              },
              "Weekly": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ContributionPeriod"
                }
              },
              "Daily": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ContributionPeriod"
                }
              },
              "Raw": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ContributionPeriod"
                }
              }
            },
            "additionalProperties": false,
            "nullable": true
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndicatorEntry"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WhiskerResult": {
        "type": "object",
        "properties": {
          "median": {
            "type": "number",
            "format": "double"
          },
          "mean": {
            "type": "number",
            "format": "double"
          },
          "upperQuartile": {
            "type": "number",
            "format": "double"
          },
          "lowerQuartile": {
            "type": "number",
            "format": "double"
          },
          "upperExtreme": {
            "type": "number",
            "format": "double"
          },
          "lowerExtreme": {
            "type": "number",
            "format": "double"
          },
          "outliers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Outlier"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Workbench": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id of the workbench.",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "The name of the workbench.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The description of the workbench.",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The timestamp in UTC for when the workbench was created.",
            "format": "date-time"
          },
          "owner": {
            "type": "string",
            "description": "The username of the owner of the workbench.",
            "nullable": true
          },
          "lastModified": {
            "type": "string",
            "description": "The timestamp in UTC when the workbench was last saved.",
            "format": "date-time"
          },
          "frequency": {
            "type": "string",
            "description": "The frequency of the workbench in string format.",
            "nullable": true
          },
          "calculation": {
            "type": "string",
            "description": "The calculation of the workbench in string format.",
            "nullable": true
          },
          "primaryIndicator": {
            "$ref": "#/components/schemas/Indicator"
          },
          "indicators": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkbenchIndicator"
            },
            "description": "A list of the indicators that are in the workbench. Includes hidden indicators as well.",
            "nullable": true
          },
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkbenchCategoryInfo"
            },
            "description": "A list of the categories that are in the workbench.",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of tags that are assigned to the workbench.",
            "nullable": true
          },
          "cutoffDate": {
            "type": "string",
            "description": "The cut off date of the workbench. This is used to front trim the workbench's dependent and independent variables.",
            "format": "date-time",
            "nullable": true
          },
          "calculatedStartDate": {
            "type": "string",
            "description": "The calculated common start date of the workbench.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "The cut off end date of the workbench.",
            "format": "date-time",
            "nullable": true
          },
          "url": {
            "type": "string",
            "description": "The url of the workbench.",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "description": "The notes of the workbench.",
            "nullable": true
          },
          "notesLastModified": {
            "type": "string",
            "description": "The last modified date of the notes of the workbench.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "This schema contains information about the Workbench, the dependent variable or Primary Indicator of the workbench under the Indicator subschema, and independent variables or Explanatory Indicators in the WorkbenchIndicator subschema."
      },
      "WorkbenchCategoryInfo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "sort": {
            "type": "integer",
            "format": "int32"
          },
          "note": {
            "type": "string",
            "nullable": true
          },
          "indicators": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndicatorKey"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WorkbenchIndicator": {
        "type": "object",
        "properties": {
          "indicator": {
            "$ref": "#/components/schemas/Indicator"
          },
          "offset": {
            "type": "integer",
            "description": "The offset applied to the indicator in the workbench.",
            "format": "int32"
          },
          "sort": {
            "type": "integer",
            "description": "The overall sort position of the indicator in the workbench.",
            "format": "int32"
          },
          "locked": {
            "type": "boolean",
            "description": "If the indicator is locked in the workbench."
          },
          "visible": {
            "type": "boolean",
            "description": "If the indicator is visible in the workbench."
          },
          "isLoggable": {
            "type": "boolean",
            "description": "If the indicator series trimmed to the workbench's dates are loggable."
          },
          "incompatible": {
            "type": "boolean",
            "description": "If the indicator is compatible with the workbench's selected calculation and frequency."
          },
          "correlation": {
            "$ref": "#/components/schemas/IndicatorCorrelation"
          },
          "expectedSign": {
            "type": "string",
            "description": "The user defined expected sign of the indicator in relation to the primary.\r\nCurrent values: Unspecified, Positive, Negative",
            "nullable": true
          },
          "transformations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Transformation"
            },
            "description": "The transformations applied to the indicator in the workbench.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WorkbenchIndicatorSeries": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "format": "uuid"
          },
          "providerId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Indicator name.",
            "nullable": true
          },
          "offset": {
            "type": "integer",
            "description": "The offset applied to the indicator in the workbench.",
            "format": "int32"
          },
          "incompatible": {
            "type": "boolean",
            "description": "If the indicator is compatible with the workbench's selected calculation and frequency."
          },
          "points": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "description": "Indicator points converted to workbench frequency and calculation with offset.",
            "nullable": true
          },
          "transformations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Transformation"
            },
            "description": "The transformations applied to the series and the order they were applied",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WorkbenchInfo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "companyId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "lastModified": {
            "type": "string",
            "format": "date-time"
          },
          "frequency": {
            "$ref": "#/components/schemas/Frequency"
          },
          "owner": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WorkbenchInfoSearchResults": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkbenchInfo"
            },
            "nullable": true,
            "readOnly": true
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "pageSize": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "totalResults": {
            "type": "integer",
            "format": "int64",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "WorkbenchSeries": {
        "type": "object",
        "properties": {
          "primaryIndicator": {
            "$ref": "#/components/schemas/WorkbenchIndicatorSeries"
          },
          "workbenchIndicators": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkbenchIndicatorSeries"
            },
            "description": "Indicator series information for indicators on workbench.",
            "nullable": true
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "api key": {
        "type": "apiKey",
        "name": "ApiKey",
        "in": "query"
      }
    }
  },
  "security": [
    {
      "api key": [ ]
    }
  ],
  "tags": [
    {
      "name": "Alert",
      "description": ""
    },
    {
      "name": "AlertDefinition",
      "description": ""
    },
    {
      "name": "AnalysisJob",
      "description": ""
    },
    {
      "name": "ComponentContributionOverrideValues",
      "description": ""
    },
    {
      "name": "Context",
      "description": ""
    },
    {
      "name": "DataIntegration",
      "description": ""
    },
    {
      "name": "DiscoverJob",
      "description": ""
    },
    {
      "name": "Enumeration",
      "description": ""
    },
    {
      "name": "Favorites",
      "description": ""
    },
    {
      "name": "ForecastModel",
      "description": ""
    },
    {
      "name": "ForecastModelHistory",
      "description": ""
    },
    {
      "name": "ForecastSummary",
      "description": ""
    },
    {
      "name": "Indicator",
      "description": ""
    },
    {
      "name": "Provider",
      "description": ""
    },
    {
      "name": "Scenario",
      "description": ""
    },
    {
      "name": "Tag",
      "description": ""
    },
    {
      "name": "Test",
      "description": ""
    },
    {
      "name": "UserContext",
      "description": ""
    },
    {
      "name": "Workbench",
      "description": "Workbenches are a powerful feature in the Board Foresight application that allow users to organize and analyze data through indicators. They enable the creation of models by selecting primary and additional indicators, which can be further adjusted and managed.\n\nUsing Workbenches endpoints you can\n- Retrieve the workbench information for the given workbench ID\n- Update or add an indicator to the existing workbench specified by the given ID\n- Retrieve the workbench series information for the given workbench ID and categories\n- Retrieves the list of accessible workbenches for the company"
    }
  ]
}